最小二乘法的基本原理和多项式拟合matlab实现

最小二乘法的基本原理和多项式拟合

一、最小二乘法的基本原理

从整体上考虑近似函数p(x)同所给数据点(xi,yi)(i=0,1,…,m)误差

的大小,常用的方法有以下三种:一是误差

ri?p(xi)?yi(i=0,1,…,m)

riri?p(xi)?yi(i=0,1,…,m)绝对值的最大值max0?i?m,即误差 向量

r?(r0,r1,?rm)T的∞—范数;二是误差绝对值的和?i?0mri,即误差向量r的1—

范数;三是误差平方和i?0?rm2i的算术平方根,即误差向量r的2—范数;前两种

方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,

因此在曲线拟合中常采用误差平方和i?0体大小。

?rm2i来 度量误差ri(i=0,1,…,m)的整

数据拟合的具体作法是:对给定数据 (xi,yi) (i=0,1,…,m),在取定的函数类?中,求p(x)??,使误差ri?p(xi)?yi(i=0,1,…,m)的平方和最小,即

i?0?rm2i i?0??p(x)?y?iim2?min

从几何意义上讲,就是寻求与给定点(xi,yi)(i=0,1,…,m)的距离平方和为最小的曲线

y?p(x)(图6-1)。函数p(x)称为拟合函数或最小二乘解,求拟合

函数p(x)的方法称为曲线拟合的最小二乘法。

在曲线拟合中,函数类?可有不同的选取方法.

6—1

二 多项式拟合

假设给定数据点(xi,yi)(i=0,1,…,m),?为所有次数不超过n(n?m)的多项式构

pn(x)??akxk??k?0n成的函数类,现求一

m,使得

2I???pn(xi)?yi?i?02?n?????akxik?yi??mini?0?k?0? (1)

m当拟合函数为多项式时,称为多项式拟合,满足式(1)的pn(x)称为最小二乘拟合多项式。特别地,当n=1时,称为线性拟合或直线拟合。显然

I??(?akxik?yi)2i?0k?0mn

为a0,a1,?an的多元函数,因此上述问题即为求I?I(a0,a1,?an)的极值 问题。由多元函数求极值的必要条件,得

mn?I?2?(?akxik?yi)xij?0,?aji?0k?0j?0,1,?,n (2)

?(?xk?0i?0nmj?ki)ak??xijyi,i?0mj?0,1,?,n (3)

(3)是关于a0,a1,?an的线性方程组,用矩阵表示为

??m?1?m?xi??i?0???m??xin??i?0?x?xi?0i?0mmi2i?n?1i?xi?0m??m???x?y??i?ai?0??i?00??m?m????xin?1??a1???xiyi???i?0??i?0???????????a?m?mn2n??n???xiyi???xi????i?0? (4) i?0?nim式(3)或式(4)称为正规方程组或法方程组。

可以证明,方程组(4)的系数矩阵是一个对称正定矩阵,故存在唯一解。从式(4)中解出ak(k=0,1,…,n),从而可得多项式

pn(x)??akxkk?0n (5)

可以证明,式(5)中的pn(x)满足式(1),即pn(x)为所求的拟合多项式。我

们把i?0??pmn(xi)?yi?2称为最小二乘拟合多项式pn(x)的平方误差,记作

r22

???pn(xi)?yi?i?0m2

由式(2)可得

r22??y??ak(?xikyi)2ii?0k?0i?0mnm (6)

多项式拟合的一般方法可归纳为以下几步:

(1) 由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n;

(2) 列表计算i?0?xmji(j?0,1,?,2n)和i?0?xmjiyi(j?0,1,?,2n);

(3) 写出正规方程组,求出a0,a1,?an;

pn(x)??akxkk?0n

(4) 写出拟合多项式。

在实际应用中,n?m或n?m;当n?m时所得的拟合多项式就是拉格朗日或牛顿插值多项式。

例1 测得铜导线在温度Ti(℃)时的电阻Ri(?)如表6-1,求电阻R与温度 T的近似函数关系。

i Ti(℃) Ri(?)

1 25.0 77.80 2 30.1 79.25 3 36.0 80.80 4 40.0 82.35 5 45.1 83.90 6 50.0 85.10 0 19.1 76.30 解 画出散点图(图6-2),可见测得的数据接近一条直线,故取n=1,拟合函数为

R?a0?a1T

列表如下

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4