下载此文档

最小二乘法曲线拟合-原理及matlab实现.doc


文档分类:高等教育 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
最小二乘法曲线拟合-原理及matlab实现曲线拟合(curve-fitting):工程实践中,用测量到的一些离散的数据求一个近似的函数来拟合这组数据,要求所得的拟合曲线能最好的反映数据的基本趋势(即使最好地逼近,而不必满足插值原则。因此没必要取=,只要使尽可能地小)。原理:给定数据点。求近似曲线。并且使得近似曲线与的偏差最小。近似曲线在该点处的偏差,i=1,2,...,m。常见的曲线拟合方法::按偏差平方和最小的原则选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为最小二乘法。推导过程::,即偏差平方和如下:...对等式右边求偏导数,因而我们得到了:.......4、把这些等式化简并表示成矩阵的形式,就可以得到下面的矩阵::*A=Y,那么A=(X'*X)-1*X'*Y,便得到了系数矩阵A,同时,我们也就得到了拟合曲线。MATLAB实现:MATLAB提供了polyfit()函数命令进行最小二乘曲线拟合。调用格式:p=polyfit(x,y,n)[p,s]=polyfit(x,y,n)[p,s,mu]=polyfit(x,y,n)x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s包括R(对x进行QR分解的三角元素)、df(自由度)、normr(残差)用于生成预测值的误差估计。[p,s,mu]=polyfit(x,y,n)在拟合过程中,首先对x进行数据标准化处理,以在拟合中消除量纲等影响,mu包含标准化处理过程中使用的x的均值和标准差。polyval()为多项式曲线求值函数,调用格式:y=polyval(p,x)[y,DELTA]=polyval(p,x,s)y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。[y,DELTA]=polyval(p,x,s)使用polyfit函数的选项输出s得出误差估计YDELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则YDELTA将至少包含50%的预测值。如下给定数据的拟合曲线:x=[,,,,,],y=[,,,,,]。解:MATLAB程序如下:x=[,,,,,];y=[,,,,,];p=polyfit(x,y,2)x1=::;y1=polyval(p,x1);plot(x,y,'*r',x1,y1,'-b')运行结果如图1计算结果为:p==^2++:例:在[0,π]区间上对正弦函数进行拟合,然后在[0,2π]区间画出图形,比较拟合区间和非拟合区间的图形,考察拟合的有效性。在MATLAB中输入如下代码:clearx=0::pi;y=sin(x);[p,mu]=polyfit(x,y,9)x1=0::2*pi;y1=sin(x1);%实际曲线y2=polyval(p,x1);%根据由区间0到pi上进行拟合得到的多项式计算0到2pi上的函数值,%需要注意的是polyval()返回的函数值在pi到2pi上并没有进行拟合plot(x1,y2,'k*',x1,y1,'k-')运行结果:p=--=R:[10x10double]df:22normr:-07MATLAB的最优化工具箱还提供了lsqcurvefit()函数命令进行最小二乘曲线拟合(Solvenonlinearcurve-fitting(data-fitting)problemsinleast-squaressense)。调用格式:x=lsqcurvefit(fun,x0,xdata,ydata)x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)x=lsqcurvefit(problem)[x,resnorm]=lsqcurvefit(...)[x,resnorm,residual]=lsqcurvefit(...)[x,resnorm,residual,exitfla

最小二乘法曲线拟合-原理及matlab实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhlya
  • 文件大小247 KB
  • 时间2019-09-04