第三章 插值法和最小二乘法 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