第三章 插值法和最小二乘法
3.5 Hermite插值法§
3.5 Hermite插值法§
Newton插值和 Lagrange插值虽然构造比较简单 , 但都存
在插值曲线在节点处有尖点 , 不光滑 , 插值多项式在节
点处不可导等缺点
,,,,,,,)( 1010 nn yyybxxxaxf LL 处的函数值为在节点设 ≤≤
值函数上的具有一阶导数的插的在区间为设 ],[)()( baxfxP
处必须满足在节点即 nxxxxP ,,,)( 10 L
iii yxfxP == )()(
iii yxfxP ′=′=′ )()(
)(],[)()1( 一阶光滑度上具有一阶导数在若要求 baxP
ni ,,1,0 L=
ni ,,1,0 L=
--------(1)
处必须满足在节点即 nxxxxP ,,,)( 10 L
iii yxfxP == )()(
iii yxfxP ′=′=′ )()(
)(],[)(,)2( 阶光滑度阶导数上具有在若要求同样 mmbaxP
个待定的系数可以解出 22 +n
次的多项式可以是最高次数为因此 12)( +nxP
次多项式作为插值函数两个节点就可以用 3112 =+×
iii yxfxP ′′=′′=′′ )()(
)()()( )()( m
ii
m
i
m yxfxP ==
L
ni ,,1,0 L= --------(2)
个方程共 22 +n
定义 1. 称满足 (1)或 (2)式的插值问题为 Hermite插值 ,
称满足 (1)或 (2)式的插值多项式 P(x)为 Hermite插值多项
式 , 记为 Hk(x) , k为多项式次数
仍用分段插值不宜太大因此现象收敛性和稳定性
如果太高会影响的次数插值多项式次一般
,),(
)(,
kRunge
kxHHermitek k
一 、 两点三次 Hermite插值
先考虑只有两个节点的插值问题
1010 ,,)( yyxxxf 处的函数值为在节点设
1010 ,, yyxx ′′处的的一阶导数值为在节点
作为插值函数多项式次两个节点最高可以用 )(3 3 xHHermite
应满足插值条件)(3 xH
003 )( yxH = 113 )( yxH =
003 )( yxH ′=′ 113 )( yxH ′=′
示应用四个插值基函数表)(3 xH
3,2,1,0),()(3 =ixhxH i的插值基函数为设
)()()()()( 332211003 xhaxhaxhaxhaxH +++=
希望插值系数与 Lagrange插值一样简单
重新假设
)()()()()( 110011003 xyxyxyxyxH bbaa ′+′++=
其中 1)( 00 =xa
0)( 00 =xb 1)( 00 =′ xb
)()()()()( 110011003 xyxyxyxyxH bbaa ′′+′′+′+′=′
0)( 10 =xa
0)( 01 =xa 1)( 11 =xa
0)( 10 =xb
0)( 01 =xb 0)( 11 =xb
0)( 00 =′ xa 0)( 10 =′ xa
0)( 01 =′ xa 0)( 11 =′ xa
0)( 10 =′ xb
0)( 01 =′ xb 1)( 11 =′ xb
可知 即可假设的二重零点是 ,)(01 xx a
)()()( 210 baxxxx +?=a
1)( 00 =xa 0)( 00 =′ xa由
可得 3
10 )(
2
xxa ??= 310
0
2
10 )(
2
)(
1
xx
x
xxb ?+?=
)()()( 210 baxxxx +?=a
2
1)( xx ?= ?
?
?
?
?? 310 )(
2
xx
x
???
?
?+?+ 310
0
2
10 )(
2
)(
1
xx
x
xx
2
10
2
1
)(
)(
xx
xx
?
?=
???
?
?? 10
2
xx
x??
?
?
?+ 10
021
xx
x
???
?
???
?
?
?+=
01
021
xx
xx 2
10
1 ??
?
?
???
?
?
?
xx
xx )())(21( 2
01 xlxl ?+=
Lagrange
插值基函数
)(1 xa )())(21( 210 xlxl ?+=
类似可得
)(0 xb )()( 200 xlxx ??=
)(1 xb )()( 211 xlxx ??=
???
?
???
?
?
?+=
10
121
xx
xx 2
01
0 ??
?
?
???
?
?
?
xx
xx
( )0xx ?=
2
10
1 ??
?
?
???
?
?
?
xx
xx
2
01
0 ??
?
?
???
?
?
?
xx
xx( )
1xx ?=
)(0 xa ??
?
?
???
?
?
?+=
01
021
xx
xx 2
10
1 ??
?
?
???
?
?
?
xx
xx)())(21( 2
01 xlxl ?+=即
将以上结果代入
)()()()()( 110011003 xyxyxyxyxH bbaa ′+′++=
得两个节点的三次 Hermite插值公式
)()()()()( 110011003 xyxyxyxyxH bbaa ′+′++=
)())(21( 2101 xlxly ?++
)()( 2000 xlxxy ??′+ )()( 2111 xlxxy ??′+
)())(21( 2010 xlxly ?+=
???
?
???
?
?
?++
10
1
1 21 xx
xxy 2
01
0 ??
?
?
???
?
?
?
xx
xx
( )00 xxy ?′+
2
10
1 ??
?
?
???
?
?
?
xx
xx
2
01
0 ??
?
?
???
?
?
?
xx
xx( )
11 xxy ?′+
???
?
???
?
?
?+=
01
0
0 21 xx
xxy 2
10
1 ??
?
?
???
?
?
?
xx
xx
二 、 两点三次 Hermite插值的余项
两点三次 Hermite插值的误差为
)()()( 33 xHxfxR ?=
0)()()( 33 =?= iii xHxfxR
0)()()( 33 =′?′=′ iii xHxfxR
1,0=i
因此可设的二重零点均为 ,)(, 310 xRxx
2
1
2
03 )())(()( xxxxxKxR ??=
待定其中 )(xK
2
1
2
03 )())(()()()( xtxtxKtHtft ????=j
构造辅助函数
0)())(()()()( 21203 =????= xxxxxKxHxfx iiiiij 1,0=i
0)())(()()()( 21203 =????= xxxxxKxHxfxj
均是
二重根
个零点至少有因此 5)(tj
连续使用 4次 Rolle定理 , 可得 , ],[ 10 xx∈x至少存在一点
使得 0)()4( =xj
0)(!4)()( )4()4( =?= xKf xxj即
!4
)()( )4( xfxK =
所以 ,两点三次 Hermite插值的余项为
2
1
2
0
)4(
3 )()(!4
)()( xxxxfxR ??= x
10 xx ≤≤ x
以上分析都能成立吗 ?
上述余项公式成立上存在时在当 ,],[)( 10)4( xxxf
例 1.
1)2(,0)1(21)(
3)2(,2)1(21)(
?=′=′
==
ffxf
ffxf
处的导数值为,在节点
处的函数值为,在节点已知
.7.1,5.1)(,)( 处的函数值在及的两点三次插值多项式求 =xxfxf
解 : 2,1 10 == xx 3,2 10 == yy 1,0 10 ?=′=′ yy
)()()()()( 110011003 xyxyxyxyxH bbaa ′+′++=
???
?
???
?
?
?++
10
1
1 21 xx
xxy 2
01
0 ??
?
?
???
?
?
?
xx
xx
( )00 xxy ?′+
2
10
1 ??
?
?
???
?
?
?
xx
xx
2
01
0 ??
?
?
???
?
?
?
xx
xx( )
11 xxy ?′+
???
?
???
?
?
?+=
01
0
0 21 xx
xxy 2
10
1 ??
?
?
???
?
?
?
xx
xx
( ))2(213 ??+ x ( )21?x
( )21?x( )2?? x
( ))1(212 ?+= x ( )22?x)(3 xH
917133 23 +?+?= xxx
)5.1(f )5.1(3H≈ 625.2=
)7.1(f )7.1(3H≈ 931.2=
作为多项式插值 ,三次已是较高的次数 , 次数再高就有
可能发生 Runge现象 ,因此 , 对有 n+1节点的插值问题 ,
我们可以使用分段两点三次 Hermite插值
三 、 分段两点三次 Hermite插值
niyxbaxf ii ,,1,0,],[)( L=上的函数值为上的节点在设函数
niyx ii ,,1,0, L=′上的导数值为在节点
1,,1,0,, 1 ?=+ nkxx kk L对任意两个相邻的节点
可构造两点三次 Hermite插值多项式
)()()()()( )(11)(0)(11)(0)(3 xyxyxyxyxH kkkkkkkkk bbaa ++ ′+′++=
],[ 1+∈ kk xxx 1,,1,0 ?= nk L
插值基函数为 Hermitexxxx kkkk )(),(),(),( )(1)(0)(1)(0 bbaa
)()(0 xka
)()(1 xka
)()(0 xkb )()(1 xkb
???
?
???
?
?
?+=
+
+
1
121
kk
k
xx
xx 2
1
???
?
???
?
?
?
+ kk
k
xx
xx
( )kxx ?=
2
1
1 ??
?
?
???
?
?
?
+
+
kk
k
xx
xx 2
1
???
?
???
?
?
?
+ kk
k
xx
xx( )
1+?= kxx
???
?
???
?
?
?+=
+ kk
k
xx
xx
1
21
2
1
1 ??
?
?
???
?
?
?
+
+
kk
k
xx
xx其中
我们称 1,,1,0,)()( )(33 ?== nkxHxH k L
为分段三次 Hermite插值多项式 , 其余项为
])()(!4 )([max)(max)( 212
)4(
10
)(
3103 +?≤≤?≤≤ ??=≤ kknk
k
nk
xxxxfxRxR x
2
1
2
10
4 )()(max
!4 1 +?≤≤ ≤≤ ??= + kknk xxx xxxx
M
kk
例 2. 数值为在节点处的函数值及导设函数 21 1)( xxf +=
P101.上表
比较几种插值 .
我们分别用分段二次 、 三次 Lagrange插值和
分段两点三次 Hermite插值作比较
解 :
2
1
2
10
4 )()(max
!4 +?≤≤ ??≤ kknk xxxx
M)(
3 xR即
f(x)
0.80000
0.30769
0.13793
0.07547
0.04160
H3(x)
0.81250
0.30750
0.13750
0.07537
0.04159
x
0.5
1.5
2.5
3.5
4.8
R3(x)=f(x)-H3(x)
-0.01250000000000
0.00019230769231
0.00043103448276
0.00009972579487
0.00001047427455
L2(x)
0.87500
0.32500
0.12500
0.07206
0.04087
L3(x)
0.80000
0.32500
0.13382
0.07443
0.04269