当前位置:
文档之家› 数值计算方法32 (插值多项式中的误差)
数值计算方法32 (插值多项式中的误差)
并作图比较. 解:
1 yi = f ( xi ) = 1 + xi2
作n次Lagrange插值多项式
华长生制作
n ( x − xi ) 1 ⋅ Ln ( x ) = ∑ 1 + x 2 ∏ ( x j − xi ) j =0 i =0 j i≠ j
n
n = 2 ,4 ,6 ,8 ,10
比较不同的插值多项式次数对插值的影响
%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)')
1 1 ≤ M 2 N 2 ≤ × 1.14 × 10 − 4 × 300 ≤ 1.71 × 10 −2 | R1 ( x )| 2! 2
1 1 | R2 ( x )| ≤ M 3 N 3 ≤ × 1.51 × 10 − 6 × 9300 ≤ 2.35 × 10 −3 3! 6
从以上分析可知, 在求 175时 用Lagrange二次插值比线性插值的 误差更小
解:
设R1 ( x )为Lagrange线性插值的余项 R2 ( x )为二次Lagrange插值的余项
f ′( x ) =
1 2 x
169 ≤ x ≤ 225
3 1 −2 f ′′( x ) = − x 4
5 3 −2 f ′′′( x ) = x 8
M 2 = max | f ′′( x )| = f ′′(169 )| ≤ 1.14 × 10 −4 |
华长生制作 9
1 例2. 设函数 f ( x ) = 1 + x 2 , x ∈ [ −5 ,5] = −5 + ih , h = , i = 0 ,1,L , n n
试就n = 2 ,4 ,6 ,8 ,10作f ( x )的n次Lagrange插值多项式
M 3 = max | f ′′′( x )|= f ′′′(144 )|≤ 1.51 × 10 −6 |
144 ≤ x ≤ 225
华长生制作 8
N 2 = ω 2 ( x )| = (175 − 169 )(175 − 225)| = 300 | |
N 3 = ω 3 ( x )| = (175 − 144 )(175 − 169 )(175 − 225 )|= 9300 | |
i =0
n
则
f ( n + 1 ) (ξ ) ω n + 1 ( x) | Rn ( x )| = (n ( n + 1)!
1 ≤ M n+1 Nn+1 ( n + 1)!
华长生制作
7
例1: 在上节例1.中, 若f ( x ) = x , 三个节点为144 ,169 ,225
试估计用Lagrange线性和二次插值做f (175)近似值的 截断误差.
华长生制作 2
假设在区间[a, b]上f ( x)的插值多项式为 Pn ( x)
令
Rn ( x) = f ( x) − Pn ( x)
显然在插值节点为 xi (i = 0,1, L , n)上 Rn ( xi ) = f ( xi ) − Pn ( xi ) = 0 , i = 0,1, L , n
华长生制作
14
= f ( n +1) (ξ ) − K ( x) ⋅ (n + 1)! = 0
5
f ( n +1) (ξ ) K ( x) = (n + 1)!
所以
f ( n +1) (ξ ) Rn ( x) = K ( x)ω n +1 ( x) = ω n +1 ( x) (n + 1)!
称Rn ( x)为插值多项式Pn ( x)的余项(截断误差)
n
Lagrange型余项
其中 ω n + 1 ( x ) = ∏ ( x − xi ) , ξ ∈ ( a , b ) , 且依赖于x.
i =0
华长生制作 6
设
M n + 1 = max| f ( n + 1 ) ( x )|
a ≤ x ≤b
N n + 1 = ω n + 1 ( x )|= ∏ ( x − xi )| | |
且 ϕ ( xi ) = f ( xi ) − Pn ( xi ) − K ( x )ω n + 1 ( xi ) = Rn ( xi ) − K ( x)ω n +1 ( xi ) = 0
注意t与x 的区分
也可令ϕ (t ) = R( x )ω n + 1 (t ) − R (t )ω n + 1 ( x )
10
%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 Lagrange插值多项式 L=1; 求插值的Matlab程序. 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;华长生制作 11
由于 因此
华长生制作
( ϕ ( n+1) (t ) = f ( n +1) (t ) − Pn( n +1) (t ) − K ( x)ω nn +1) (t ) +1 ( + ϕ ( n +1) (ξ ) = f ( n +1) (ξ ) − Pn( n +1) (ξ ) − K ( x)ω nn 11) (ξ ) +
Ax = b a11 a12 L a1n a21 a22 L a2n i−1 A= M bi −∑lij xj M M 第二章 M插值与逼近 j=1 an1 an2 L ann xi = lii §2.2 插值多项式中的误差
i = 2,3,L, n
§3.2 插值多项式中的误差
i = 0,1, L, n
因此, 若令x ≠ xi , ϕ (t )在区间[a, b]上至少有n + 2个零点, 即
ϕ ( x) = 0 , ϕ ( xi ) = 0 , i = 0,1,2,L , n
由于Pn ( x)和ω n +1 ( x)为多项式,因此若f ( x)可微, 则ϕ (t )也可微
华长生制作 4
根据Rolle定理, ϕ ′(t )在区间(a, b)上有至少n + 1个零点 再由Rolle定理, ϕ ′′(t )在区间(a, b)上有至少n个零点 依此类推
在区间( a, b)内至少有一个点ξ , 使得ϕ (t )的n + 1阶导数为零
ϕ ( n +1) (ξ ) = 0
ϕ (t ) = f (t ) − Pn (t ) − K ( x)ω n +1 (t )
因此Rn ( x)在[a, b]上至少有n + 1个零点
设 其中
Rn ( x) = K ( x)ω n +1 ( x)
ω n +1 ( x) = ( x − x0 )( x − x1 ) L ( x − xn )
K (x)为待定函数
Rn ( x) = f ( x) − Pn ( x) = K ( x)ω n +1 ( x)
一、插值余项
从上节可知, y = f ( x)的Lagrange插值
Ln ( x ) = ∑ y j l j ( x )
j =0 n
满足
但
Ln ( xi ) = f ( xi )
∀x ∈ [a, b]
i = 0,1, L, n Ln ( x) = f ( x) 不会完全成立
因此,插值多项式存在着截断误差,那么我们怎样估 计这个截断误差呢?
华长生制作 3
f ( x) − Pn ( x) − K ( x)ω n +1 ( x) = 0 若引入辅助函数ϕ (t ) = f (t ) − Pn (t ) − K ( x)ω n +1 (t ) 则有 ϕ (x ) = f ( x ) − Pn ( x ) − K ( x )ω n + 1 ( x ) = 0
华长生制作 12
2
不同次数的Lagrange插值多项式的比较图
f(x )= 1/(1+ x 2 ) n= 10
1.5
1
n= 2 n= 4
0.5
0 n= 6 -0.5 n= 8 -1
-1.5 -5
-4
-3
-2
-1 0 1 Runge现象
2
3
4
5
华长生制作
13
结果表明,并不是插值多项式的次数越高,插值效果 越好,精度也不一定是随次数的提高而升高,这种现 象在上个世纪初由Runge发现,故称为Runge现象.