最小二乘法,最小二乘法的Matlab实现

最小二乘法拟合:
对给定数据点{(Xi,Yi)}(i=0,1,…,m),在取定的函数类Φ 中,求p(x)∈Φ ,使误差的平方和E^2最小,E^2=∑[p(Xi)-Yi]^2。从几何意义上讲,就是寻求与给定点 {(Xi,Yi)}(i=0,1,…,m)的距离平方和为最小的曲线y=p(x)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。
最小二乘法的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.05:3.0;
y1=polyval(p,x1);!!命令 polyval多项式函数的预测值,
plot(x,y,'*r',x1,y1,'-b')
计算结果为:
p =0.5614 0.8287 1.1560
即所得多项式为y=0.5614x^2+0.08287x+1.15560
③非线性函数 使用 lsqcurvefit(fun,x0,x,y) x=lsqcurvefit(@F, x0,t,y,v1,v2),
Tags:  最小二乘法公式 加权最小二乘法 偏最小二乘法 最小二乘法原理 最小二乘法

延伸阅读

最新评论

发表评论