最小二乘法数据拟合

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最小二乘法数据拟合

设给定数据),(i i f x ,),,2,1(m i =

在集合},,,{Span 10n ϕϕϕ =Φ中找一个函数

)()(*

0**

x a x S k n

k k ϕ∑==,)(m n < (1) 其误差是

i i i f x S -=)(*δ,),,2,1(m i = (2)

使)(*

x S 满足

2

1

)(2

*1

1

2

])()[(min ])()[(i i m

i i x S i i m

i i m

i i

f x S x f x S x -=-=∑∑∑=Φ

∈==ωωδ

(3)

0)(≥x ω是],[b a 上给定的权函数。上述求逼近函数)(*x S 的方法就称为曲线拟合的最小二

乘法。满足关系式(3)的函数)(*

x S 称为上述最小二乘问题的最小二乘解。 并且有结论:

1)对于给定的函数表),(i i f x ,),,2,1(m i =,在函数类},,,{Span 10n ϕϕϕ =Φ中存在唯一的函数)()(*0**

x a x S k n

k k ϕ∑==

,使得关系式(3)成立。 2)最小二乘解的系数*

*1*0,,,n a a a 可以通过解法方程

),(),(0

ϕϕϕf a

k

n

k j

k

=∑=,),,2,1,0(n j = (4)

作为曲线拟合的一种常用的情况,如果讨论的是代数多项式拟合,即取

},,,,1{},,,{210n n x x x =ϕϕϕ

那么相应的法方程(4)就是

⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢

⎣⎡∑∑∑∑∑∑∑∑∑∑∑∑++i n i i i i i i i n n i i n i

i n i

i n i

i i

i i i n

i

i i

i i

f x f x f a a a x x

x x

x

x x x ωωωωωωωωωωωω

102112 (5)

其中,)(i i x ωω=,并且将

=m

i 1

简写成“

”。

此时,k

n

k k

x

a x S ∑==

**

)(,称它为数据拟合多项式,上述拟合称为多项式拟合。

例:已知某高度传感器测得的数据如下表:

试用最小二乘法求多项式曲线与此数据组拟合。

(一)算法:

解:取二次方多项式去拟合(当然也可以取三次、四次等,次数越高计算越复杂),

2210)(x a x a a x f y ++==

由式(5)可建立法方程组(其中取1)(=i x ω)

⎥⎥⎥

⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡∑∑∑∑∑∑∑∑∑∑∑∑============712

7

171

21071

7

1

7143271717132717

17

12

1i i i i i i i i i i i i i

i i i i i i

i i i i i

i

y x y x y a a a x x

x x x x x x

(6)

由表1的数据可以计算出

∑=71

i i x ,∑=7

1

2i i

x

∑=7

1

3i i

x

∑=7

1

4i i

x

∑=71

i i

y ,∑=71

i i

i y x ,∑=7

1

2i i i

y x

将表2中算得的结果代入法方程(6),可得:

⎪⎩

⎨⎧=++=++=++14762

-354100304926-10030101980-30104210210210a a a a a a a a a 解方程组可得:

⎪⎩⎪

⎨⎧-==-=88.3445472

10a a a 故所求拟合曲线为:

23864.04321.33185.1)(x x x f y -+-==

(二)用MATLAB 编程求解: 多项式函数 使用 polyfit (x,y,n ),n 为次数

拟合曲线 x=[1,2,3,4,6,7,8]; y=[2,3,6,7,5,3,2];

解:MATLAB 程序如下:

x=[1,2,3,4,6,7,8]; y=[2,3,6,7,5,3,2]; p=polyfit(x,y,2) x1=0:0.01:10; y1=polyval(p,x1); plot(x,y,'*r',x1,y1,'-b')

计算结果为: p =

-0.3864 3.4318 -1.3182

相关文档
最新文档