求大神,普通最小二乘法的算法

如题所述

第1个回答  2019-12-18
最小二乘法的Matlab实现

一次函数线性拟合使用polyfit(x,y,1)
②多项式函数线性拟合使用
polyfit(x,y,n),n为次数
拟合曲线
x=[0.5,1.0,1.5,2.0,2.5,3.0],
y=[1.75,2.45,3.81,4.80,7.00,8.60]。
解:MATLAB程序如下:
x=[0.5,1.0,1.5,2.0,2.5,3.0];y=[1.75,2.45,3.81,4.80,7.00,8.60];p=polyfit(x,y,2)x1=0.5:0.5:3.0;y1=polyval(p,x1);plot(x,y,'*r',x1,y1,'-b')
计算结果为:
p
=0.5614
0.8287
1.1560
即所得多项式为y=0.5614x^2+0.8287x+1.15560