
matlab问题 最优解
我有X和Y的一组数据想要求其他三个参数的最优解,应该怎么实现。。。。公式为Y=A1*(1-exp(-A2*X^A3))A1A2A3为未知数想要求出他们的最优解。。。。谢谢...
我有X和Y的一组数据想要求其他三个参数的最优解,应该怎么实现。。。。
公式为Y=A1*(1-exp(-A2*X^A3))
A1 A2 A3为未知数 想要求出他们的最优解。。。。
谢谢各位大神 展开
公式为Y=A1*(1-exp(-A2*X^A3))
A1 A2 A3为未知数 想要求出他们的最优解。。。。
谢谢各位大神 展开
3个回答
展开全部
zhyj8810的回答思路是最为正确的——对超越形式的拟合,需要通过变换化为非超越形式,这可大大提高matlab的处理能力。但zhyj8810的等价推导有误:
Y = A1*(1-exp(-A2*X^A3))
<==>
1 - exp(-A2*X^A3) = Y / A1
<==>
exp(-A2*X^A3) = 1 - Y / A1
<==>
A2*X^A3 = - ln(1-Y/A1)
<==>
X^A3 = - [ ln(1-Y/A1) ] / A2.
Y = A1*(1-exp(-A2*X^A3))
<==>
1 - exp(-A2*X^A3) = Y / A1
<==>
exp(-A2*X^A3) = 1 - Y / A1
<==>
A2*X^A3 = - ln(1-Y/A1)
<==>
X^A3 = - [ ln(1-Y/A1) ] / A2.
展开全部
X = [...];
Y = [...];
ff = @(a, b, c, x)(a*(1-exp(-b*x.^c)));
typ = fittype(ff);
[fitobject,gof] = fit(X, Y, typ);
ci = coeffvalues(fitobject); % 得到a b c
matlab2012b,用到了curve fit 工具箱
Y = [...];
ff = @(a, b, c, x)(a*(1-exp(-b*x.^c)));
typ = fittype(ff);
[fitobject,gof] = fit(X, Y, typ);
ci = coeffvalues(fitobject); % 得到a b c
matlab2012b,用到了curve fit 工具箱
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个优化为题。问题可以转化为 min Y-[A1*(1-exp(-A2*X^A3))] 转化为
min -X^A3=[1-log(Y/A1)]/A2.。然后将他们写成矩阵的形式,可以用matlab自带的最小二乘解搞定
min -X^A3=[1-log(Y/A1)]/A2.。然后将他们写成矩阵的形式,可以用matlab自带的最小二乘解搞定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询