曲线拟合( curve-fitting ): 工程实践中,用测量到的一些离散的数据},...2,1,0),,{(miyxii求一个近似的函数)(x 来拟合这组数据, 要求所得的拟合曲线能最好的反映数据的基本趋势(即使)(x 最好地逼近xf,而不必满足插值原则。因此没必要取)(ix=iy ,只要使iiiyx )(尽可能地小)。原理:给定数据点},...2,1,0),,{(miyxii。求近似曲线)( x 。并且使得近似曲线与xf的偏差最小。近似曲线在该点处的偏差iiiyx )(,i=1,2,...,m 。常见的曲线拟合方法:1.使偏差绝对值之和最小2.使偏差绝对值最大的最小3.使偏差平方和最小最小二乘法:按偏差平方和最小的原则选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为最小二乘法。推导过程:1. 设拟合多项式为:kkxaxaax...)(102. 各点到这条曲线的距离之和,即偏差平方和如下:3. 问题转化为求待定系数0a ...ka 对等式右边求ia 偏导数,因而我们得到了:.......4、 把这些等式化简并表示成矩阵的形式,就可以得到下面的矩阵:5. 将这个范德蒙得矩阵化简后可得到:6. 也就是说 X*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 得出误差估计 Y DELTA。它假设 polyfit 函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含 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 = 即所得多项式为 y=^2++0.511.522.53123456789图...