一阶差商的差商

Download Report

Transcript 一阶差商的差商

§3.牛顿(Newton)插值
3.1差商及其性质
一.差商(均差)定义
拉格朗日插值公式可看作直线方程两点式的
推广,若从直线方程点斜式
f1  f 0
P1 ( x)  f 0 
( x  x0 )
x1  x0
( fi  f ( xi )  yi )
出发,将它推广到具有n+1个插值点的情况,可
把插值多项式表示为
Pn ( x)  a0  a1 ( x  x0 )  a2 ( x  x0 )( x  x1 )

 an ( x  x0 )
( x  xn1 )
1
其中
a0 , a1 ,
Pn ( x j )  f j
, an 为待定系数,可由插值条件
( j  0,1,
, n) 确定。
Pn ( x)  a0  a1 ( x  x0 )  a2 ( x  x0 )( x  x1 )
当
Pn ( x0 )  a0  f 0
   an ( x  x0 ) ( x  xn1 )

Pn ( x1 )  a0  a1 ( x1  x0 )  f1


 Pn ( x2 )  a0  a1 ( x2  x0 )  a2 ( x2  x0 )( x2  x1 )  f 2




a1



f2  f0

x2  x0
 a2 
x2



a0  f 0
f1  f 0

x1  x0
f1  f 0

x1  x0
 x1
2
依次可得到
a3 , a4 ,
, an 。为写出系数
的一般表达式,现引入差商(均差)定义。
定义:称
f ( xk )  f ( x0 )
f [ x0 , xk ] 
xk  x0
为函数 f ( x)
关于节点 x0 , xk 的一阶差商,记为
一阶差商
f [ x0 , xk ] 。
f [ x0 , x1 ]、f [ x0 , xk ] 的差商
f [ x0 , xk ]  f [ x0 , x1 ]
f [ x0 , x1 , xk ] 
xk  x1
3
称为
为
f ( x)关于节点
x0 , x1, xk的二阶差商,记
f [ x0 , x1, xk ]。
递归地用k-1阶差商来定义k阶差商,
f [ x0 , x1,
, xk ] 
f [ x0 ,
, xk  2 , xk ]  f [ x0 , x1,
xk  xk 1
称为 f ( x) 关于k+1个节点
差商。
x0 , x1 ,
, xk 1 ]
, xk 的k阶
4
二. 差商(均差)的性质
• 性质1:k阶差商可以表示成k+1个函数值
f ( x0 ), f ( x1 ), , f ( xk ) 的线性组合,即
f (xj )
k
f [ x0 , x1 , , xk ]  
j 0
( x j  x0 )
( x j  x j 1 )( x j  x j 1 )
可用归纳法证明。
f ( x1 )  f ( x0 )
例:
f [ x0 , x1 ] 
x1  x0
( x j  xn )
f0
f1


x0  x1 x1  x0
f [ x0 , x2 ]  f [ x0 , x1 ]
f [ x0 , x1 , x2 ] 
x2  x1
f0
f1
f2



( x0  x1 )( x0  x2 ) ( x1  x0 )( x1  x2 ) ( x2  x0 )( x2  x15)
这个性质也表明差商与节点的排列顺序无关(差商的对
称性)。即
f [ x0 , x1, , xk ]  f [ x1, x0 , x2 , , xk ] 
f [ x1 ,
f [ x0 , x1 , , xk ] 
• 性质2:
k阶差商定义:
 f [ x1, x2 , , xk , x0 ]
, xk ]  f [ x0 , , xk 1 ]
xk  x0
f [ x0 , , xk 2 , xk ]  f [x0 , x1 , , xk 1 ]
f [ x0 , x1 , , xk ] 
xk  xk 1
依对称性,对调定义公式左端k阶差商中
的位置,
x与
0
xk 1
f [ xk 1, x1, , xk  2 , xk ]  f [ xk 1, x1, , xk  2 , x0 ]
f [ xk 1, x1, , xk  2 , x0 , xk ] 
xk  x0
再将各差商中的节点按原来次序排列。
6
• 性质3:若 f ( x) 是 x 的n次多项式,则一阶差商
f [ x , x0 ] 是x 的n-1次多项式,二阶差商f [ x , x , x ]
0 1
是x 的n-2次多项式;
一般地,函数 f ( x) 的k阶差商f [ x , x0 , , xk 1]
是 x 的n-k次多项式(k  n) ,而 k  n 时,k阶
差商为零。
7
若 f ( x)是 x 的n次多项式,则 P( x)  f ( x)  f ( xi )
也是n次多项式,且
解为
P( xi )  0。于是 P( x) 可分
P( x)  ( x  xi ) Pn1 ( x)
其中 Pn1 ( x) 为n-1次多项式。所以
f ( x)  f ( xi ) ( x  xi ) Pn1 ( x)
f [ x, xi ] 

 Pn1 ( x)
x  xi
x  xi
为n-1次多项式
8
三.利用差商表计算差商
利用差商的递推定义,可以用递推来计算差商。如下表:
xi
f ( xi )
x0
f ( x0 )
x1
f ( x1 )
一阶差商
二阶差商
三阶差商
f  x0 , x1 
f  x1 , x2 
x2
f ( x2 )
x3
f ( x3 )
f  x2 , x3 
┇
┇
┇
f  x0 , x1, x2 
f  x1, x2 , x3 
┇
f  x0 , x1, x2 , x3 
┇
如要计算四阶差商,再增加一个节点,表中
还要增加一行。
9
• 例:已知如下,计算三阶差商
xi
f ( xi )
f [1,3,4,7] 。
1
3
4
7
0
2
15
12
解:列表计算
一阶差商
二阶差商
xi
f (xi )
1
0
3
2
1
4
15
13
4
7
12
-1
-3.5
三阶差商
-1.25
10
3.2
牛顿插值公式
根据差商定义,把 x 看成 [a, b] 上的一点,可得
f ( x)  f ( x0 )  f [ x, x0 ]( x  x0 ),
f [ x, x0 ]  f [ x0 , x1]  f [ x, x0 , x1]( x  x1),
f [ x, x0 , x1 ]  f [ x0 , x1, x2 ]  f [ x, x0 , x1, x2 ]( x  x2 ),
┅
f [ x, x0 , , xn 1 ]  f [ x0 , x1, , xn ]  f [ x, x0 , , xn ]( x  xn )
只要把后一式代入前一式,得:
11
f ( x)  f ( x0 )  f [ x0 , x1 ]( x  x0 )  f [ x0 , x1 , x2 ]( x  x0 )( x  x1 ) 
 f [ x0 , x1 , , xn ]( x  x0 )( x  x1 ) ( x  xn 1 )
 f [ x, x0 , x1 , , xn ]( x  x0 )( x  x1 ) ( x  xn )
最后一项中, 差商部分含有
x ,为余项部分,记作
Rn ( x)  f [ x, x0 , x1, , xn ]( x  x0 )( x  x1)
( x  xn )
而前面n+1项中, 差商部分都不含有 x ,因而前面n+1项
是关于 x 的n次多项式,记作
N n ( x)  f ( x0 )  f [ x0 , x1 ]( x  x0 )
 f [ x0 , x1 , x2 ]( x  x0 )( x  x1 ) 
 f [ x0 , x1 ,
, xn ]( x  x0 )( x  x1 )
( x  x12n 1 )
这就是牛顿插值公式。于是,上式记为
f ( x)  Nn ( x)  Rn ( x)
由牛顿插值公式与
Pn ( x)  a0  a1 ( x  x0 )  a2 ( x  x0 )( x  x1 )

 an ( x  x0 )
( x  xn1 )
比较知:
ak  f [ x0 , x1,
, xk ] (k  0,1,
, n).
13
• 例如:当n=1时,
f ( x)  f ( x0 )  f [ x0 , x1 ]( x  x0 )  f [ x, x0 , x1]( x  x0 )( x  x1)
其中,
f 0  f1
N1 ( x)  f ( x0 )  f [ x0 , x1 ]( x  x0 )  f 0 
( x  x0 )
x0  x1
这就是牛顿一次插值多项式,也就是点斜
式直线方程。
14
• 当n=2时,
f ( x)  f ( x0 )  f [ x0 , x1 ]( x  x0 )
 f [ x0 , x1 , x2 ]( x  x0 )( x  x1 )
 f [ x, x0 , x1 , x2 ]( x  x0 )( x  x1 )( x  x2 )
N2 ( x)  f ( x0 )  f [ x0 , x1]( x  x0 )  f [ x0 , x1, x2 ]( x  x0 )( x  x1)
这就是牛顿二次插值多项式。
显然,
N2 ( x0 )  f ( x0 )
15
N2 ( x)  f ( x0 )  f [ x0 , x1 ]( x  x0 )  f [ x0 , x1, x2 ]( x  x0 )( x  x1 )
f ( x0 )  f ( x1 )
N 2 ( x1 )  f ( x0 ) 
( x1  x0 )  f ( x1 )
x0  x1
f ( x0 )  f ( x1 )
N 2 ( x2 )  f ( x0 ) 
( x2  x0 )
x0  x1
1  f ( x0 )  f ( x1 ) f ( x1 )  f ( x2 ) 



 ( x2  x0 )( x2  x1 )
x0  x2 
x0  x1
x1  x2

 f ( x2 )
即
N2 ( x)满足二次插值条件。
16
• 若f ( x) 是[a, b] 上n次连续可微函数,
[a, b] 中不同的点,则在
并且x0 , x1, , xn 是
( a, b) 中存在一点 ,使得
f [ x0 , x1 ,
1 (n)
, xn ]  f ( )
n!
设p 是函数f 在节点x0 , x1, , xn 1
至多为n-1次的插值多项式,则
上次数
1 (n)
f ( xn )  p( xn )  f ( )( xn  x0 ) ( xn  xn 1 )
n!
f ( xn )  p( xn )  f [ x0 , x1 , , xn ]( xn  x0 ) ( xn  xn 1 )
17
• 例:已知
xi
f ( xi )
1
3
4
7
0
2
15
12
求满足以上插值条件的牛顿型插值多项式。
解:在上例中,我们已计算出
f ( x0 )  0, f [ x 0 , x1 ]  1, f [ x 0 , x1, x2 ]  4,
f [ x 0 , x1, x2 , x3 ]  1.25;
则牛顿三次插值多项式为
N3 ( x)  0  ( x  1)  4  ( x  1)( x  3)
1.25  ( x  1)( x  3)( x  4)
18
• 例3:已知 f ( x) 在六个点的函数值如下表,运
用牛顿型插值多项式求 f (0.596) 的近似值。
一阶
二阶
三阶
四阶
xk
f ( xk )
0.40
0.41075
0.55
0.57815
1.1160
0.65
0.69675
1.1860
0.80
0.88811
1.2757
0.3588
0.1970
0.90
1.02652
1.3841
0.4336
0.2137
0.0344
1.05
1.25386
1.5156
0.5260
0.2310
0.0346
五阶
x  xk
0.196
0.046
0.054
0.2800
0.204
0.304
0.0003
19
解: N2 ( x)  f ( x0 )  f [ x0 , x1]( x  x0 )  f [ x0 , x1, x2 ]( x  x0 )( x  x1)
N2 (0.596)  0.41075  1.1160  0.196  0.28  0.196  0.046  0.632010
N3 ( x)  N2 ( x)  f [ x0 , x1, x2 , x3 ]( x  x0 )( x  x1)( x  x2 )
N3 (0.596)  0.632010  0.1970  0.196  0.046  (0.054)  0.6319145
欲求
N 4 ( x ),只需在
N 3 ( x )之后再加一项:
f [ x0 , x1, x2 , x3 , x4 ]( x  x0 )( x  x1 )( x  x2 )( x  x3 )
 0.0344  0.196  0.046  (0.054)  (0.204)  3.4 106
故
N4 ( x)  0.6319145  0.0000034  0.6319179 。
R4 ( x)  f [ x, x0 ,
截断误差:
 f [ x0 ,
, x4 ]5 (0.596)
, x4 , x5 ]5 (0.596)  9.058 20109
算法:
1. 输入数据x, xi , yi (i  0,1, , n)
2. 置f k  yk (k  0,1, , n)
3. 计算各阶差商。对i  0,1, , n
f k i  f k
 f k (k  n, n  1,, i )
xk i  xk
n
k 1
k 0
j 0
4. p  f 0   f k [  x  x j ]
 {[(f n (x  x n 1 )  f n 1 )(x  x n  2 )  f n  2 ](x  x n 3 )
 }(x  x 0 )  f 0
5. 输出p  f ( x),停机。
21
例
已知函数y=ln x的函数表如下
x
10
11
12
13
14
ln x 2.3026 2.3979 2.4849 2.5649 2.6391
用牛顿插值公式计算 ln11.5
解:取节点x 0  11, x1  12, x 2  13作抛物线插值。
按下表计算
xi yi  ln xi
11 2.3979
12
13
2.4849
2.5649
一阶差商 二阶差商
1
0.0870
0.0800
0.0035
x  11
( x  11)( x 2212)
插值多项式为
N 2 ( x)  2.3979  0.0870( x  11)
0.0035( x  11)( x  12)
所以,
ln11.5  N 2 (11.5)
 2.3979  0.0870  0.5  0.0035  0.5  0.5
 2.442275
23
若加节点x0  10, x1  11, x2  12, x3  13, x4  14。
按下表计算 ln x的四次牛顿插值多项式
xi yi  ln xi
10 2.3026
11 2.3979
12
2.4849
一阶
二阶
三阶
四阶
1
x  10
0.0953
0.0870 0.00415
11
 (x  k )
k 10
13
2.5649
0.0800 0.00350 0.00022
12
 (x  k )
k 10
14
2.6391
0.0742 0.00290 0.00020 0.000005
13
 (x  k)
k 10
24
所以,
ln11.5  N 4 (11.5)
 2.3026  0.0953  1.5  0.00415  1.5  0.5
0.00022 1.5  0.5   0.5
0.000005 1.5  0.5   0.5   1.5
 2.4423522
25
拉格朗日插值与牛顿插值的比较
(1) Ln ( x)和 Nn ( x)均是n次多项式,且均满足插值条件:
Ln ( xk )  Nn ( xk )  f ( xk ), k  0,1,
,n
由插值多项式的唯一性, Pn ( x)  Nn ( x) ,因而两个
公式的余项是相等的,即
f [ x, x0 , x1
f ( n 1) ( )
, xn ]n 1 ( x) 
n 1 ( x)
(n  1)!
其中 n 1 ( x)  ( x  x0 )( x  x1 ) ( x  xn ),故
f [ x0 , x1 ,
f ( n ) ( )
, xn ] 
,
n!
 [a, b]
26
(2)当插值多项式从n-1次增加到n次时,拉
格朗日型插值必须重新计算所有的基本插值
多项式;而对于牛顿型插值,只需用表格再计
算一个n阶差商,然后加上一项即可。
(3)牛顿型插值余项公式对 f ( x)是由离散
点给出或
f ( x) 导数不存在时均适用。
27
28