《数值分析》 12
主要内容:
拉格朗日插值误差余项 均差与牛顿插值公式 均差表的构造计算 牛顿多项式求值算法
拉格朗日插值误差余项
0 0 1
1 1 0 1
) 0
( y
x x
x y x
x x
x x x
L
两点线性插值
插值余项(误差):
R(x) = f(x) – L(x) 由插值条件,知
R(x)=C(x) (x – x0)(x – x1) 即 f(x) –L(x) = C(x) (x – x0)(x – x1)
C (x) = ???
拉格朗日插值误差余项
a
≤x
0<x
1<···<x
n≤b
则对任何
x
∈[a , b], 满足 Ln(xk) = f(xk) 的 n 次 插值多项式L
n(x) 的误差) )! (
1 (
) ) (
( )
( )
(
( 1) 1x
n x f
L x
f x
R
n n n n n
) (
) )(
( )
( 0 1
1 n
n x x x x x x x
其中,
) ,
( b
a
且与x有关
定理
5.2
设 f(x)∈C[a, b], 且 f (x) 在(a, b)内具有n+
1阶导数, 取插值结点拉格朗日插值误差余项
证明: 记
n+1(x) =(x – x0)(x – x1)···(x – xn)f(x) – L
n(x)= C(x)
n+1(x)取定
x∈(a, b), 设 t∈( a, b ). 为了求C(x),
构造函数F ( t ) f ( t ) L
n( t ) C
n1( t )
显然, F(x) = 0, F(x ) = 0, ( j = 0,1,···,n ) 由插值条件
L
n(xk) = f(xk) (k = 0,1,…,n) 知存在C(x)使得
拉格朗日插值误差余项
F(t) 有(n+2)个相异零点. 根据Rolle定理, F’(t)
在区间(a, b)内至少有 (n +1)个相异零点.0 )!
1 (
)
)(
1
( C n
f n
)!
1 (
) (
) 1 (
n
C f n ( )
)!
1 (
) ) (
( )
( ( 1) 1 x
n x f
L x
f n n n
依此类推,F ( n+ 1 )(t) 在区间 ( a, b ) 内至少有
一个零点。故存在
∈ (a, b), 使F(n+1)(
)=0) ( )
( )
( )
(
( 1) ( 1) ( 11)) 1
(
t f t L t C t
F
n
n
nn
nn
拉格朗日插值误差余项
例 分析三次多项式插值误差
x 0 1 2 3 f(x) -2 -2 -4 4
拉格朗日插值误差余项
例 取被插值函数为正弦函数 f(x) = sin x,取三点做
二次插值。
2 /
x 0
Sin x 0 1 0
6 /
| ) )(
2 / (
|
| cos
|
|
| R2
x x
x
2
( x ) 4 x ( x ) /
2L
思考题: 在区间 内增加插值结点是否会 导致Runge现象
[ 0 , ]
拉格朗日插值误差余项
例5.3 设 y = f(x) 在区间 [a, b]上有连续,且 f (x) 在 (a, b)内具有2阶导数,已知f (x)在区间端点处 的值.如果当x∈ (a, b)时,有|f ’’(x)|≤M. 试证明
1
( )
2| 8 ) (
| R x M b a
证明 由Lagrange插值误差定理
) )(
2 ( ) ) (
( )
( )
( 1
1 x f x L x f x a x b
R
令
h(x) = |( x – a )( x – b )|
) ) (
( )
(
max h x h a b b a 2
1 ( )2
| 8 ) (
| R x M b a
拉格朗日插值误差余项
应用: 考虑制做 sin x 在[0,
]
上等距结点的函数表,要 求用线性插值计算非表格点数据时,能准确到小数后两 位,问函数表中自变量数据的步长h
应取多少为好?解:设应取的步长为
h ,
则x
j= jh ( j = 0,1,···,n).
当 x∈(xj , xj+1)时
8 8
)
| ( ) (
| max
| ) (
|
1 2 21
x h x x
f x
R
j jx x
xj j
] sin
) (
sin )
1 [(
sin x x
jx
j 1x
j 1x x
jx h
2 2
2 10 1 8
h h ≤ 0.2
只须
均差与牛顿插值公式
取
x
0, x1, x2,求二次函数P(x)=a0 + a1(x – x0) + a2 (x – x0)(x – x1) 满足条件
P(x0)=f(x0), P(x1)=f(x1), P(x2)=f(x2)
) (
) )(
( )
(
) (
) (
) (
2 1
2 0
2 2
0 2
1 0
1 0
1 1
0
0 0
x f
x x
x x
a x
x a
a
x f
x x
a a
x f
a
插值条件引出关于a0,
a
1,a
2方程均差表的构造计算
定义
5.3
若已知函数 f(x) 在点 x0,x
1,···,xn 处的 值 f(x0), f(x1), ···, f(xn).如果 i ≠j ,则
一阶均差
n阶均差 0
1 0
1 1
0, , , ] [ , , ] [ , ]
[ x x
x x
f x
x x f
x x
f
n
n
n n
j j
j j
j
j x x
x f x
x f x
f
1 1 1
) (
) ] (
, [
二阶均差
j j
j j
j j j
j
j
x x
x x
f x
x x f
x x
f
2
1 2
2 1 1
] ,
[ ]
, ] [
, ,
[
( j = 0,1,…,n-2 )均差表的构造计算
x - 2 -1 0 1 3
y -56 -16 -2 -2 4
例 由函数表 求各阶均差
x f(x) 一阶均差 二阶均差 三阶均差 -2 -56
-1 -16 40
0 -2 14 -13
1 -2 0 -7 2 3 4 3 1 2
解:按公式计算一阶均差、二阶均差、三阶均差
均差表的构造计算 MATLAB程序计算 x=[-2 -1 0 1 3]’;
y=[-56 -16 -2 -2 4]’;
data=[x,y];dy=y;
n=length(x);
for k=1:n-1
dx=x(k+1:n)-x(1:n-k) dy=diff(dy)./dx;
f=zeros(n,1);f(k+1:n)=dy;
data=[data,f];
enddata
-2 -56
-1 -16 40
0 -2 14 -13
1 -2 0 -7 2 3 4 3 1 2 0
均差表的构造计算
函数值的计算:
N
3(x) = –56 + (x + 2) [40 +(x + 1) [– 13 +2 x]]N
3(x) = –56 + 40(x + 2) –13(x + 2)(x + 1) + 2(x + 2)(x + 1) x2 26
80
0 56
a
1 40 39 4 5 a a
2 13 6 7
3
2 a
3
3
( x ) 2 5 x 7 x
22 x
P
-2 -1 0 1 2 3
-60 -50 -40 -30 -20 -10 0 10
牛顿多项式求值算法
根据代数插值存在唯一性定理,
n
次牛顿插值公式恒等于n次拉格朗日插值公式,误差余项也相等,即
) )! (
1 (
) ) (
(
( 1) 1x
n x f
R
n n n
牛顿多项式算法: 记插值节点为x0,x1,···,xn, f(x) 的各阶差商为 f0, f1, f2, ···, fn
(1)s←fn
(2)计算 s ← fk+ (x-xk) * s (k=n-1,n-2, ···, 0) (3) N(x)=s
) (
) )(
( )
( x x x x x x x
前面已经学过两种插值方法:
Langrange插值法、Newton插值法。
共同点: 1)插值条件相同,即
小 结
2)求一个次数不超过n的代数多项式
不同点: 构造方法(思想)不同
Langrange插值法采用基函数的思想
ni i in
x y l x
L ( )
0( )
Newton插值法采用承袭性的思想
) (
) ](
, ,
[
) ](
, [
) (
) (
1 0
0
0 1
0 0
n n
n
x x
x x
x x
f
x x
x x
f x
f x
N
注:两种方法的结果相同(唯一性)!
均差表
学到了什么?
拉格朗日插值误差余项 均差与牛顿插值公式 均差表的构造计算 牛顿多项式求值算法