matlab最小二乘法多项式拟合,求程序代码以及结果!公式:y=A+B/(x^2)+C/(x^4)数据:x:532*10^(-9) 650*10^(-9) 416*10^(-9) 460*10^(-9) 540*10^(-9) 560*10^(-9) 675*10^(-9) y:1.4232 1.4051 1.4382 1.4321 1.4228 1.4247 1.4167
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/31 17:02:16
matlab最小二乘法多项式拟合,求程序代码以及结果!公式:y=A+B/(x^2)+C/(x^4)数据:x:532*10^(-9) 650*10^(-9) 416*10^(-9) 460*10^(-9) 540*10^(-9) 560*10^(-9) 675*10^(-9) y:1.4232 1.4051 1.4382 1.4321 1.4228 1.4247 1.4167
matlab最小二乘法多项式拟合,求程序代码以及结果!
公式:y=A+B/(x^2)+C/(x^4)
数据:x:532*10^(-9) 650*10^(-9) 416*10^(-9) 460*10^(-9) 540*10^(-9) 560*10^(-9) 675*10^(-9)
y:1.4232 1.4051 1.4382 1.4321 1.4228 1.4247 1.4167
matlab最小二乘法多项式拟合,求程序代码以及结果!公式:y=A+B/(x^2)+C/(x^4)数据:x:532*10^(-9) 650*10^(-9) 416*10^(-9) 460*10^(-9) 540*10^(-9) 560*10^(-9) 675*10^(-9) y:1.4232 1.4051 1.4382 1.4321 1.4228 1.4247 1.4167
经拟合得到
1.337727485,.3902072783e-13,-.3855617205e-26
代码:
x=[416*10^(-9) 460*10^(-9) 532*10^(-9) 540*10^(-9) 560*10^(-9) 650*10^(-9) 675*10^(-9) ];
y=[1.4382 1.4321 1.4232 1.4228 1.4247 1.4051 1.4167];
func=inline('a(1)+a(2)./(x.^2)+a(3)./(x.^4)','a','x');
x0=[1.33772748473426 2.07132729641355 6.0719894453953]
a=nlinfit(x,y,func,x0);
vpa(a,10) %系数A=a(1)、B=a(2)、C=a(3)
y1=func(a,x);
[y' y1'] %结果比较