最小二乘法 线性及非线性拟合

最小二乘法 线性及非线性拟合

ID:20384362

大小:59.50 KB

页数:7页

时间:2018-10-13

最小二乘法 线性及非线性拟合_第1页
最小二乘法 线性及非线性拟合_第2页
最小二乘法 线性及非线性拟合_第3页
最小二乘法 线性及非线性拟合_第4页
最小二乘法 线性及非线性拟合_第5页
资源描述:

《最小二乘法 线性及非线性拟合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、最小二乘法 线性与非线性拟合 最小二乘法实现数据拟合 最小二乘法原理函数插值是差值函数p(x)与被插函数f(x)在节点处函数值相同,即p()=f()  (i=0,1,2,3……,n),而曲线拟合函数不要求严格地通过所有数据点(),也就是说拟合函数在处的偏差                        =不都严格地等于零。但是,为了使近似曲线能尽量反应所给数据点的变化趋势,要求

2、

3、按某种度量标准最小。即                     =为最小。这种要求误差平方和最小的拟合称为曲线拟合的最小二乘法。(一)线性最小二乘拟合根据线性最小二乘拟合理论,我们得知关于系数矩阵A的解法为A=R

4、Y。例题 假设测出了一组,由下面的表格给出,且已知函数原型为y(x)=c1+c2*e^(-3*x)+c3*cos(-2*x)*exp(-4*x)+c4*x^2  x00.20.40.70.90.920.991.21.41.481.5y2.882.25761.96831.92582.08622.1092.19792.54092.96273.1553.2052  试用已知数据求出待定系数的值。       在Matlab中输入以下程序x=[0,0.2,0.4,0.7,0.9,0.92,0.99,1.2,1.4,1.48,1.5]';y=[2.88;2.2576;1.9683;1.9258;2.0

5、862;2.109;  2.1979;2.5409;2.9627;3.155;3.2052];A=[ones(size(x))exp(-3*x),cos(-2*x).*exp(-4*x)x.^2];c=Ay;c'运行结果为ans=        1.2200    2.3397   -0.6797    0.8700    下面画出由拟合得到的曲线及已知的数据散点图x1=[0:0.01:1.5]';A1=[ones(size(x1))exp(-3*x1),cos(-2*x1).*exp(-4*x1)x1.^2];y1=A1*c;plot(x1,y1,x,y,'o')     事实上,上面给

6、出的数据就是由已知曲线y(x)=0.8700-0.6797*e^(-3*x)+2.3397*cos(-2*x)*exp(-4*x)+1.2200*x^2产生的,由上图可见拟合效果较好。 多项式最小二乘拟合在Matlab的线性最小二乘拟合中,用得较多的是多项式拟合,其命令是A=polyfit(x,y,m)其中表示函数中的自变量矩阵,表示因变量矩阵,是输出的系数矩阵,即多项式的系数。多项式在自变量x处的函数值y可用以下命令计算:y=polyval(A,x)例题 对下面一组数据作二次多项式拟合,即要求出二次多项式中的,使最小。  x00.10.20.30.40.50.60.70.80.91y-0.

7、4471.9783.286.167.087.347.669.569.489.3011.2  在Matlab中输入以下命令x=0:.1:1;y=[-0.4471.9783.286.167.087.347.669.569.489.3011.2];a=polyfit(x,y,2)运行结果为a=   -9.8108   20.1293   -0.0317f=vpa(poly2sym(a),5)%vpa(polyval2sym(),n)只适用于关于多项式函数的拟合。因为此函数对于自变量统一规定为“x”,将由polyfit()所得出的系数按自变量幂次升降放在相应的位置。运行结果为f=   -9.8108

8、*x^2+20.129*x-.31671e-1下面画出由拟合得到的曲线及已知的数据散点图y1=polyval(a,x);plot(x,y,'o',x,y1) (二)非线性最小二乘拟合(1)lsqcurvefit()lsqcurvefit()是非线性最小二乘拟合函数,其本质上是求解最优化问题。其使用格式为x=lsqcurvefit(fun,x0,xdata,ydata)其中,fun是要拟合的非线性函数,x0是初始参数,xdata,ydata是拟合点的数据,该函数最终返回系数矩阵。例题 假设已知并已知该函数满足原型为,其中为待定系数。在Matlab中输入以下命令x=0:.1:10;y=0.12*

9、exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);f=inline('a(1)*exp(-a(2)*x)+a(3)*exp(-a(4)*x).*sin(a(5)*x)','a','x');%建立函数原型,则可以根据他来进行下面的求取系数的计算[a,res]=lsqcurvefit(f,[1,1,1,1,1],x,y);a',res运行结果为ans=    0.1197 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。