第三章 插值法和最小二乘法
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
???≈?
?
?+
?
?≈
故有
整理得
上述求误差的方法称为事后估计法