第三章 插值法和最小二乘法
第三章 插值法和最小二乘法
3.1 插值法§
3.2 插值多项式中的误差§
3.3 分段插值法§
3.4 Newton插值§
3.5 Hermite插值§
3.6 三次样条 插值§
3.7 数据拟合§
本章要点 用简单的函数 (如多项式函数 )作为一个
复杂函数的近似 ,最简单实用的方法就是
插值 ,而数据拟合则是另外一类的函数近
似问题 .
本章主要介绍有关插值法的一些基本概念 ,
及多项式插值的基础理论和几个常用的插
值方法 :Lagrange插值 、 分段线性插值 、
Newton插值 、 Hermite插值和三次样条插值
在本章的最后介绍了拟合的最小二乘法
本章引例 : Hooker定律
定律 :一定范围内服从的作用下伸长弹簧在力 ker, HooxF
现在得到下面一组为弹性系数即成正比与 ,,, kkxFxF =
可以看出 ,如图坐标下作图并在如表数据 ).(),(),(, FxFx
试由数据确定律就不服从达到一定数值后当 .ker, HooF
.ker, 定律时的近似公式并给出不服从定 Hook
1.216.206.198.186.157.116.69.35.1)(
1715131297421)(
kgF
cmx
0 2 4 6 8 10 12 14 16 18
0
5
10
15
20
25
力
F
伸 长 x
3.1 插值法§
且不利于在计算机上其函数形式可能很复杂对函数 ,),(xf
个不同的点上的一组
在区间可以获得量假如可以通过实验或测运算
1
],[)(,,
+n
baxf
bxxxxa n ≤<<<<≤ L210
nixfy ii ,,2,1,0),( L==上的函数值
能否存在一个性能优良 、 便于计算的函数
满足比如多项式函数 ),(xP
一 、 插值问题
niyxP ii ,,2,1,0)( L==
)()( xfxP 近似代替并且用
------(1)
这就是插值问题 , (1)式为插值条件 ,
的插值函数为函数称函数 )()( xfxP
则称之为插值多项式为多项式函数如果 ,)(xP
称为插值节点点 ,,,2,1,0, nixi L=
称为插值区间区间 ],[ ba
个等分点上若给定如函数 5],0[,sin pxy =
其插值函数的图象如图
0 0.5 1 1.5 2 2.5 3 3.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
sinx的 插 值
x
y
的 插 值
x
yyy
)()( xPxf 和插值函数对于被插函数
处的函数值必然相等在节点 ix
)()( xfxP 的值可能就会偏离但在节点外
必然存在着误差近似代替因此 )()( xfxP
二 、 代数插值多项式的存在唯一性
整体误差的大小反映了插值函数的好坏
为了使插值函数更方便在计算机上运算 ,一般插值函
数都使用代数多项式和有理函数
本章讨论的就是代数插值多项式
上的代数插值多项式为在区间设函数 ],[)( baxfy =
n
nn xaxaxaaxP ++++= L
2
210)(
且满足 niyxP iin ,,2,1,0)( L==
--------(2)
--------(3)
满足线性方程组的系数即多项式 nn aaaaxP ,,,,)( 210 L
00
2
02010 yxaxaxaa
n
n =++++ L
11
2
12110 yxaxaxaa
n
n =++++ L
n
n
nnnn yxaxaxaa =++++ L
2
210
LLLL??
?
???
?
--------(4)
上述方程组的系数行列式为 n+1阶范德蒙 ( Vandermond)
行列式
n
nnn
n
n
xxx
xxx
xxx
V
L
LLLLL
L
L
2
1
2
11
0
2
00
1
1
1
= ∏ ∏
?
= +=
?=
1
0 1
)(
n
i
n
ij
ij xx
ji xx ≠≠
0
定理 1.
由 Cramer法则 ,线性方程组 (4)有唯一解
n
nn xaxaxaaxP ++++= L
2
210)(
niyxP iin ,,2,1,0)( L==
--------(2)
--------(3)
),( jixx ji ≠≠若插值节点 则满足插值条件
的插值多项式
存在且唯一 .
虽然线性方程组 (4)推出的插值多项式存在且唯一
但通过解 线性方程组 (4)求插值多项式却不是好方法
三 、 Lagrange插值多项式
维的间是的多项式构成的线性空所有次数不超过 n 1+n
根据线性空间的理论
个多项式组成维线性空间的基底也由这个 11 ++ nn
并且形式不是唯一的
表示次多项式可由基底线性而任意一个 n
且在不同的基底下有不同的形式
维线性空间的一个基底为上述设 1)(,),(),( 10 +nxxx njjj L
线性表示可由次多项式且任意 )(,),(),()( 10 xxxxPn nn jjj L
线性无关显然 )(,),(),( 10 xxx njjj L
)()()()( 1100 xaxaxaxP nnn jjj +++= L
的插值函数为某个函数如果 )()( xfxPn
为插值基函数则称 )(,),(),( 10 xxx njjj L
--------(5)
niyxP iin ,,2,1,0)( L== -------(6)且满足 (1)式
为插值节点其中 nixi ,,2,1,0, L=
nixfy ii ,,2,1,0)( L==
上的一组节点为区间如果 ],[210 babxxxxa n ≤<<<<≤ L
njxln j ,,2,1,0),( L=次多项式我们作一组
)())(())((
)())(())(()(
1110
1110
njjjjjjj
njj
j xxxxxxxxxx
xxxxxxxxxxxl
?????
?????=
+?
+?
LL
LL
∏
≠
= ?
?= n
ji
i ij
i
xx
xx
0 )(
)( nj ,,2,1,0 L= -------(7)
)())(( 10 nxxxxxx ??? L=+ )(1 xnw令
=′+ )(1 jn xw则 )())(())(( 1110 njjjjjjj xxxxxxxxxx ????? +? LL
n+1次多项式
)())(())((
)())(())(()(
1110
1110
njjjjjjj
njj
j xxxxxxxxxx
xxxxxxxxxxxl
?????
?????=
+?
+?
LL
LL
nj ,,2,1,0 L= -------(7')
且 )( ij xl ??? ≠== ji ji01 nji ,,2,1,0, L= -------(8)
线性无关显然 )(,),(),(),( 210 xlxlxlxl nL
))((
)(
1
1
jjn
n
xxx
x
?′= +
+
w
w
从而
的插值基函数作如果用 )()(,),(),(),( 210 xfyxlxlxlxl n =L
则的插值多项式为而 ,)()( xfxPn
)()()()( 1100 xlaxlaxlaxP nnn +++= L
为待定参数、、、其中 naaa L10
)( in xP niyxf ii ,,2,1,0)( L===令
即 ∑
=
n
j
ijj xla
0
)( niyi ,,2,1,0 L==
由 (8)式 ,可得 niya ii ,,2,1,0 L==
-------(9)
-------(10)
为记为项式为插值基函数的插值多
以上在节点于是
))((
),,1,0()(,),,1,0()(,
xL
nixlnixxfy
n
ji LL ===
)()()()( 1100 xlyxlyxlyxL nnn +++= L
)(xl j ∏
≠
= ?
?= n
ji
i ij
i
xx
xx
0 )(
)(其中 -------(7,7')
-------(11)
插值多项式的为式称 LagrangexfyxLn )()()11( =
插值基函数次为称 Lagrangennixl j ),,1,0()( L=
))((
)(
1
1
jjn
n
xxx
x
?′= +
+
w
w
例 1: 15)225(,13)169(,12)144()( === fffxf 满足已知
.)175(,)( 的近似值并求插值多项式的二次作 fLagrangexf
解 : 225,169,144 210 === xxx设
)(0 xl
插值基函数为的二次则 Lagrangexf )(
))((
))((
2010
21
xxxx
xxxx
??
??=
2025
)225)(169( ??= xx
)(1 xl ))(( ))((
2101
20
xxxx
xxxx
??
??=
1400
)225)(144(
?
??= xx
)(2 xl ))(( ))((
1202
10
xxxx
xxxx
??
??=
4536
)169)(144( ??= xx
15,13,12 210 === yyy
插值多项式为的二次因此 Lagrangexf )(
)()()()( 2211002 xlyxlyxlyxL ++=
且 )175(f )175(2L≈
)175(15)175(13)175(12 210 lll ++=
73158230.13=
在例 1中 ,如果只给出两个节点 169和 225,也可以作插值
多项式 ,即 1次 Lagrange插值多项式 ,有两个插值基函数 ,
这种插值方法称为 Lagrange线性 插值 ,也可以在 n+1个
节点中取相邻的两个节点作线性插值
11 ,,, ++ kkkk yyxx 函数值节点
Lagrange线性插值基函数为
)(xlk
1
1
+
+
?
?=
kk
k
xx
xx )(
1 xlk +
kk
k
xx
xx
?
?=
+1
Lagrange线性插值多项式为
)()()( 111 xlyxlyxL kkkk +++=
1
1
+
+
?
?=
kk
k
k xx
xxy
kk
k
k xx
xxy
?
?+
+
+
1
1 参见图
例 2. ).175(1 fLagrange 中的线性插值多项式求例用
之间与在由于插值点 225169175 21 === xxx解 :
为插值节点与因此取 225169 21 == xx
)(1 xl
21
2
xx
xx
?
?=
56
225
?
?= x )(
2 xl
12
1
xx
xx
?
?=
56
169?= x
Lagrange插值基函数为
Lagrange线性插值多项式为
)()()( 22111 xlyxlyxL += 5622513 ???= x
56
16915 ??+ x
)175(f 5622517513 ???≈ 5616917515 ??+
71285214.13=
所以
Lagrange插值多项式的缺点 :
插值基函数计算复杂
高次插值的精度不一定高