用最小二乘法进行多项式拟合(matlab 实现)
西安交通大学
徐彬华
算法分析:
对给定数据|(斗』i=0 ,1,2,3,..,m), —共m+1个数据点,取多项式P(x),
使 战
m
刃;ITbg)-订 T Ui ll
I r «
0 f'≡O
函数P(X)称为拟合函数或最小二乘解,令似 S(X) = £ 使得 i-C m m f n z = ∑[^J-v J-y t f = ∑ ∑>川-H
= min
f≡0 f≡0 X ⅛≡0 J 其中,aθ, a1,a2,∙∙∙,an 为待求未知数,n 为多项式的最高次幕,由此,该问题化 为求 的极值问题。由多元函数求极值的必要条件: 得到: 61
6心
j=0,1,…,n
n 用 ⅛=0 f=∩ j=0,1,…,n
这是一个关于a0,a1,a2,∙∙∙,an 的线性方程组,用矩阵表示如下:
m
m
W7 ÷ 1
∑y
…Σ <
L
=
^i
Σ>∖ JIWJ
/—0 B BT
40
%
i=0
ffi
∑A
^
fΓl
Σ√ //£
气f
n+1 …
m J-O
«■ φ-
J=Cl
* +
F=O
B
■ «
j=Q
» m
*
m
■
m
Cl ti
Ir
m
Σ<
Σ
…Σ> 了
_
M l
lx”
f=0 J=O
>=0
-J-O