第三章 插值法和最小二乘法 3.2 插值多项式中的误差§ 3.2 插值多项式中的误差§ 一 、 插值余项 插值的从上节可知 Lagrangexfy )(, = ∑ = = n j jjn xlyxL 0 )()( 满足 nixfxL iin ,,1,0)()( L== ],[ bax ∈?但 )()( xfxLn = 不会完全成立 因此 ,插值多项式存在着截断误差 ,那么我们怎样估 计这个截断误差呢 ? )()(],[ xPxfba n的插值多项式为上假设在区间 )()()( xPxfxR nn ?=令 上显然在插值节点为 ),,1,0( nixi L= )()()( iniin xPxfxR ?= ni ,,1,0,0 L== 个零点上至少有在因此 1],[)( +nbaxRn )()()( 1 xxKxR nn += w设 )())(()( 101 nn xxxxxxx ???=+ Lw 为待定函数)(xK其中 )()()()()( 1 xxKxPxfxR nnn +=?= w )()()()( 1 xxKxPxf nn +?? w 0= )()()()()( 1 txKtPtft nn +??= wj若引入辅助函数 )(xj则有 0= 的区分 与注意 xt )( ixj且 )()()( 1 inin xxKxR +?= w 0= 即个零点上至少有在区间若令因此 ,2],[)(,, +≠ nbatxx i j ,0)( =xj ni ,,1,0 L= nixi ,,2,1,0,0)( L==j 也可微则可微因此若为多项式和由于 )(,)(,)()( 1 txfxxP nn jw + )()( )()( )( 1 1 xtR txR t n n + + ? = w w j也可令 )()()()( 1 xxKxPxf nn +??= w )()()()( 1 inini xxKxPxf +??= w 根据 Rolle定理 , 个零点上有至少在区间 1),()( +′ nbatj 再由 Rolle定理 , 个零点上有至少在区间 nbat ),()(j ′′ 依此类推 阶导数为零的使得内至少有一个点在区间 1)(,),( +ntba jx 0)()1( =+ xj n )()1( tn+j )()()()()( 1 txKtPtft nn +??= wj )()()()( )1( 1)1()1( txKtPtf nnnnn ++++ ??= w由于 )()()()()( )1( 1)1()1()1( xwxxxj +++++ ??= nnnnnn xKPf因此 )!1()()()1( +??= + nxKf n x 0= )!1( )()( )1( += + n fxK n x )()()( 1 xxKxR nn += w )()!1( )( 1 )1( xnf n n + + += w x所以 )()()( 截断误差的余项为插值多项式称 xPxR nn 定理 1. 有则插值节点为次插值多项式 上的在为阶可微上在区间设 ],,[],,[}{, ],[)()(,1],[)( 0 baxbaxn baxfxPnbaxf n ii n ∈?? + = )(xRn )()!1( )( 1 )1( xnf n n + + += w x ,)()( 0 1 ∏ = + ?= n i in xxxw其中 .,),( xba 且依赖于∈x Lagrange型余项 |)(|max )1(1 xfM n bxan + ≤≤+ = |)(||)(| 0 11 ∏ = ++ ?== n i inn xxxN w 设 |)(| xRn则 )()!1( )( 1 )1( xnf n n + + += w x 11)!1( 1 +++≤ nn NMn 例 1: 225,169,144,)(,.1 三个节点为若中在上节例 xxf = 线性插值的余项为设 LagrangexR )(1 插值的余项为二次 LagrangexR )(2 解 : . )175( 截断误差 近似值的线性和二次插值做试估计用 fLagrange xxf 2 1)( =′ 23 4 1)( ??=′′ xxf 25 8 3)( ?=′′′ xxf |)(|max 2251692 xfM x ′′= ≤≤ |)169(| f ′′= 41014.1 ?×≤ |)(|max 2251443 xfM x ′′′= ≤≤ |)144(| f ′′′= 61051.1 ?×≤ |)175(|)175( 22 w=N |)225175)(169175(| ??= 300= |)175(|)175( 33 w=N |)225175)(169175)(144175(| ???= 9300= |)175(| 1R 22!21 NM≤ 3001014.121 4 ×××≤ ? 21071.1 ?×≤ |)175(| 2R 33!31 NM≤ 93001051.161 6 ×××≤ ? 31035.2 ?×≤ 误差更小二次插值比线性插值的用 时在求从以上分析可知 Lagrange 175, 例 2. ]5,5[,1 1)( 2 ?∈+= xxxf设函数 ninhihxnn i ,,1,0,10,51]5,5[ L==+?=+? 个节点等份取将 插值多项式次的作试就 Lagrangenxfn )(10,8,6,4,2= 并作图比较 . 解 : 21 1)( i ii xxfy +== 插值多项式次作 Lagrangen ∑ ∏ = ≠ = ?? ? ? ? ? ? ? ? ? ? ?? += n j n ji i ij i j n xx xx xxL 0 02 )( )( 1 1)( 10,8,6,4,2=n %lagrangen.m function y=lagrangen(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i);s=0; for k=1:n L=1; for j=1:n if j~=k L=L*(z-x0(j))/(x0(k)-x0(j)); end end s=s+L*y0(k); end y(i)=s; end y; Lagrange插值多项式 求插值的 Matlab程序 . %Chazhibijiao.m x=-5:0.1:5;z=0*x;y=1./(1+x.^2); plot(x,z,'k',x,y,'r') axis([-5 5 -1.5 2]);pause,hold on for n=2:2:10 x0=linspace(-5,5,n+1); y0=1./(1+x0.^2); x=-5:0.1:5; y1=lagrangen(x0,y0,x); plot(x,y1), pause end y2=1./(1+x0.^2);y=interp1(x0,y2,x); plot (x,y,'k'),hold off gtext('n=2'),gtext('n=4'),gtext('n=6') gtext('n=8'),gtext('n=10') gtext('f(x)=1/(1+x^2)') 比较不同的插值多项式次数对插值的影响 -5 -4 -3 -2 -1 0 1 2 3 4 5 -1.5 -1 -0.5 0 0.5 1 1.5 2 n=2 n=4 n=6 n=8 n=10 f(x)=1/(1+x2) 不同次数的 Lagrange插值多项式的比较图 Runge现象 结果表明 ,并不是插值多项式的次数越高 ,插值效果 越好 ,精度也不一定是随次数的提高而升高 ,这种现 象在上个世纪初由 Runge发现 ,故称为 Runge现象 . 误差的事后估计 如果只提供 f(x)的一些离散值 , 并未给出具体的解析表达式 , 那么直接运 用余项公式来估计插值误差是困难的 考察 3个节点 x0,x1,x2, 对于给定的插值点 x, 先用 x0与 x1进行线性插值求出 y=f(x)的 一个近似值 , 记为 y1, 然后取 x0和 x2进行线性插值求得另一个近似值 y2, 则 2 1 2 1 2121 20 2 2 10 1 1 xx xx y-y yy )(f)(f]b,a[ )xx)(xx(2 )(fyy )xx)(xx(2 )(fyy ? ?≈? ′′≈′′ ??′′=? ??′′=? 则有 , 假设在所考察的区间属于和 xxxx x x )yy(xx xxyy yxx xxyxx xxy 12 12 1 1 2 12 1 1 1 2 ???≈? ? ?+ ? ?≈ 故有 整理得 上述求误差的方法称为事后估计法