§ 4.4 牛顿插值 ( Newton’s Interpolation )
Lagrange 插值虽然易算,但若要增加一个节点时,全部基函数 li(x) 都需要重新计算。
能否重新在 Pn中寻找新的 基函数?
希望每加一个节点时,只附加一项 上去即可。
本讲主要内容,
● Newton插值多项式的构造
● 差商的定义及性质
● 差分的定义及性质
● 等距节点 Newton插值公式
{ 1,x - x0,(x - x0)(x - x1),…,(x-x0)(x-x1)… (x-xn-1)}
是否构成 Pn的一组基函数?
0 1 0 2 0 1 0 1( ) ( ) ( ) ( ),,,( ),,,( )n n nN x A A x x A x x x x A x x x x
利用插值条件 Nn(xj)=f(xj),j=0,1,…,n代入上式,得关于 Ak (k=0,1,…,n)的线性代数方程组基函数
00
10
11
1
00
0
1 0 0
()
10
()
1 ( ) ( )
n
n i n n
i
A f x
xx
A f x
x x x x A f x
当 xj 互异时,系数矩阵非奇异,且容易求解
10
1
10
( ) ( )f x f xA
xx
1021
2 2 0
2 1 1 0
( ) ( )( ) ( )( ) /( )f x f xf x f xA x x
x x x x
How complex the
expression are!
It is not a difficult thing for a mathematician.
We can use notation
00()A f x?
差商 (亦称均差 )/* divided difference */
),()()(],[ ji
ji
ji
ji xxjixx
xfxfxxf
称为在 xi,xj处的 1阶差商
)(],[],[],,[ kixx xxfxxfxxxf
ki
kjji
kji
称为在 xi,xj,xk处的 2阶差商
k阶差商:
0 1 1 1 2
01
0
[,,,] [,,,][,,,] kk
k
k
f x x x f x x xf x x x
xx
利用插值条件和差商,可求出 Nn(x)的 系数 Ai,
0 0 1 0 0 0 1 1( ) ( ) [,] ( ) [,,] ( ) ( ) ( )n n nN x f x f x x x x f x x x x x x x x
0 0 0
1 0 1
01
( ) [ ]
[,]
[,,,]
nn
A f x f x
A f x x
A f x x x
00
1 0 0 1 0 0 0 1 0
1 0 1 0 1
( ) ( )
( ) ( ) [,] ( ) ( ) [,] ( )
( ) ( ) [,,] ( ) ( ) ( )
k k k k
N x f x
N x f x f x x x x N x f x x x x
N x N x f x x x x x x x x
因此,每增加一个结点,Newton插值多项式只增加一项,克服了 Lagrange插值的缺点 。
.
xk f(xk) 一阶差商 二阶差商 三阶差商 …… n 阶差商差商表
1
2
3
o
n
x
x
x
x
x
0
1
2
3
[]
[]
[]
[]
[]
n
fx
fx
fx
fx
fx
01
12
23
1
[,]
[,]
[,]
[,]
nn
f x x
f x x
f x x
f x x
0 1 2
1 2 3
21
[,,]
[,,]
[,,]
n n n
f x x x
f x x x
f x x x
0 1 2 3
3 2 1
[,,,]
[,,,]n n n n
f x x x x
f x x x x 01[,,,]nf x x x
例 1:给定 f(x)=lnx的数据表
xi 2.20 2.40 2.60 2.80 3.00
f(xi) 0.78846 0.87547 0.95551 1.02962 1.09861
1.构造差商表
2.分别写出二次,四次 Newton插值多项式解,差商表
0 0 7 5 5.00 1 6 4 6.00 6 4 0 0.03 4 4 9 5.00 9 8 6 1.100.3
0 2 2 5 0.00 7 3 8 7 5.03 7 0 5 5.00 2 9 6 2.180.2
0 8 7 3 7 5.04 0 0 1 0.09 5 5 5 1.060.2
4 3 5 0 5.08 7 5 4 7.040.2
7 8 8 4 6.020.2
][
四阶差商三阶差商二阶差商一阶差商
ii
xfx
N2(x)=0.78846 +0.43505(x-2.20) - 0.087375(x-2.20) (x-2.40)
N4(x)= 0.78846
+0.43505(x-2.20)
- 0.087375(x-2.20)(x-2.40)
+0.0225(x-2.20)(x-2.40)(x-2.60)
-0.00755(x-2.20)(x-2.40)(x-2.60)(x-2.80)
差商具有如下性质
n
i i
i
n x
xfxxxf
0
10 )('
)(,...,,
性质 1 (差商与函数值的关系 )
00,,,,,,,,,,,,i j n j i nf x x x x f x x x x
性质 2 (对称性),差商的值与结点排列顺序无关
( 1 )
01
()
,,...,
( 1 ) !
n
nf x x x x n
f
,
01( ) [,] 1,,,,,[,],
[,]
nf x a b n x x x x a b
ab?
设 在 上 有 阶 导 数 且则 存 在 使 得性质 3(差商与导数的关系 )
],[)()()( 000 xxfxxxfxf
],,[)(],[],[ 101100 xxxfxxxxfxxf
],...,,[)(],...,[],...,,[ 0010 nnnn xxxfxxxxfxxxf
1
2
… … … …
n?1
1 + (x? x0)? 2 + … … + ( x? x0)…( x? xn?1)? n?1
...))(](,,[)](,[)()( 102100100 xxxxxxxfxxxxfxfxf
)),,,(](,...,[ 100 nn xxxxxxf
))(),,,(](,...,,[ 100 nnn xxxxxxxxxf
Nn(x) R
n(x)
Ai = f [ x0,…,xi ]
证明:
( 1 )
0 1 1
()[,.,,,] ( ) ( )
( 1 ) !
n
n n n
ff x x x x x
n
,
( 1 )
01
()
,,...,
( 1 ) !
n
nf x x x x n
f
,
定理,Newton插值多项式的余项为
Rn( x) = f[x0,x1,… x n,x]?n+1( x)
其中?n+1 (x) =(x - x0)(x - x1 )(x - x2 )…(x - xn)
由插值多项式的 唯一性可知 Nn(x)? Ln(x),
故其余项也相同,即
4.4.3 等距节点的 Newton插值公式与差分一阶向前差分
/* forward
difference */
一阶向后差分
/* backward
difference */
一阶中心差分
/* centered
difference */
当节点 等距 分布时,),...,0(0 nihixx i
( ) ( ) ( )i i if x f x h f x
( ) ( ) ( )i i if x f x f x h
( ) ( ) ( )22i i ihhf x f x f x
一般地,称 k阶差分的差分为 k+1阶差分,如二阶向前和向后差分分别为
2
2
( ) ( ( ) ) ( ( ) ( ) )
( ) ( )
( 2 ) 2 ( ) ( )
( ) ( ( ) ) ( ( ) ( ) )
( ) ( )
( ) 2 ( ) ( 2 )
i i i i
ii
i i i
i i i i
ii
i i i
f x f x f x h f x
f x h f x
f x h f x h f x
f x f x f x f x h
f x f x h
f x f x h f x h
计算各阶差分可按如下差分表进行,
23
00
1 1 0
2
2 2 1 0
23
3 3 2 1 0
23
1 2 3 0
n
i i i i i i
n
n n n n n
x f f f f f
xf
x f f
x f f f
x f f f f
x f f f f f
其中差分具有如下性质
00
( 1 ),( 1 )
!
! ( ) !
kk
k j j k k j j
i k i j k i k i j k
jj
j
k
f C f f C f
k
C
j k j
性质 1(差分与函数值的关系 ) 各阶差分均可表示为函数值的线性组合,
kki i kff性质 2(前差与后差的关系 ):
0
,
( ) !,
0,
nk
kn
P k n
f x a h n k n
kn
性质 3(多项式的差分 ) 若 f(x)∈ Pn(n次多项式类 ),则性质 4(差分与差商的关系 ):
1
1
[,,,]
!
[,,,]
!
k
i
i i i k k
k
i
i i i k k
f
f x x x
kh
f
f x x x
kh
1
()
! [,,,]
( ),( )
kk
i i i i k
kk
i i k
f k h f x x x
h f x x
性质 5(差分与导数的关系)
0
2
0 0 0 0
( ) ( )
( 1 ) ( 1 ) ( 1 )
1 ! 2 ! !
nn
n
N x N x th
t t t t t t n
f f f f
n
(11)
称公式 (11)为 Newton向前差分插值公式,其余项为
1 ( 1 )
0
0
( 1 ) ( )
( ) ( ) ( )
( 1 ) !
(,)
nn
nn
n
t t t n
R x R x th h f
n
xx
(12)
利用这些性质,可将 Newton公式进一步简化为
1
1 1 1 0
( ) ( ) ( ) [,]
( ) ( ) ( ) [,,]
n n n n n
n n n n
N x f x x x f x x
x x x x x x f x x x
令 x=xn-th,则当 x0≤x≤xn时,0≤t≤n.利用差商与向后差分的关系,式 (13)可简化为
(13)
如果将 Newton插值公式 改为按节点 xn,xn-1,…,x0的次序排列的 Newton插值公式,即
( 1 )
11
0
()
( ) ( ) ( 1 ) ( 1 ) ( )
( 1 ) !
n
nn
n n n
n
f
R x R x th h t t t n
n
xx
其余项为注,一般当 x 靠近 x0 时用前插,靠近 xn 时用后插,
故两种公式亦称为 表初公式 和 表末公式 。
22
( ) ( )
( 1 )
( 1 )
2!
( 1 ) ( ( 1 )
( 1 )
!
n n n
n n n
nn
n
N x N x th
tt
f t f f
t t t n
f
n
称式 (14)为 Newton向后差分插值公式
(14)
例 给定 f(x)在等距节点上的函数值表如下,
xi 0.4 0.6 0.8 1.0
f(xi) 1.5 1.8 2.2 2.8
分别用 Newton向前和向后差分公式求 f(0.5)及 f(0.9)的近似值,
解 先构造向前差分表如下,
xi fi △ fi △ 2fi △ 3fi
0.4 1.5
0.6 1.8 0.3
0.8 2.2 0.4 0.1
1.0 2.8 0.6 0.2 0.1
x0=0.4,h=0.2,x3=1.0,分别用差分表中对角线上的值和最后一行的值,得 Newton向前和向后插值公式如下,
3
3
( 1 ) ( 1 ) ( 2)
( 0,4 0,2 ) 1,5 0,3 0,1 0,1
2 3!
( 1 ) ( 1 ) ( 2)
( 1 0,2 ) 2,8 0,6 0,2 0,1
2 3!
t t t t t
N t t
t t t t t
N t t
(1)
(2)
当 x=0.5时,用公式 (1),这时 t=(x-x0)/h=0.5,将 t=0.5代入 (1),得
f (0.5)≈N3(0.5)=1.64375.
当 x=0.9时,用公式 (2),这时 t=(x3-x)/h=0.5,将 t=0.5代入 (2),得
f (0.9)≈N3(0.9)=2.46875.
Lagrange 插值虽然易算,但若要增加一个节点时,全部基函数 li(x) 都需要重新计算。
能否重新在 Pn中寻找新的 基函数?
希望每加一个节点时,只附加一项 上去即可。
本讲主要内容,
● Newton插值多项式的构造
● 差商的定义及性质
● 差分的定义及性质
● 等距节点 Newton插值公式
{ 1,x - x0,(x - x0)(x - x1),…,(x-x0)(x-x1)… (x-xn-1)}
是否构成 Pn的一组基函数?
0 1 0 2 0 1 0 1( ) ( ) ( ) ( ),,,( ),,,( )n n nN x A A x x A x x x x A x x x x
利用插值条件 Nn(xj)=f(xj),j=0,1,…,n代入上式,得关于 Ak (k=0,1,…,n)的线性代数方程组基函数
00
10
11
1
00
0
1 0 0
()
10
()
1 ( ) ( )
n
n i n n
i
A f x
xx
A f x
x x x x A f x
当 xj 互异时,系数矩阵非奇异,且容易求解
10
1
10
( ) ( )f x f xA
xx
1021
2 2 0
2 1 1 0
( ) ( )( ) ( )( ) /( )f x f xf x f xA x x
x x x x
How complex the
expression are!
It is not a difficult thing for a mathematician.
We can use notation
00()A f x?
差商 (亦称均差 )/* divided difference */
),()()(],[ ji
ji
ji
ji xxjixx
xfxfxxf
称为在 xi,xj处的 1阶差商
)(],[],[],,[ kixx xxfxxfxxxf
ki
kjji
kji
称为在 xi,xj,xk处的 2阶差商
k阶差商:
0 1 1 1 2
01
0
[,,,] [,,,][,,,] kk
k
k
f x x x f x x xf x x x
xx
利用插值条件和差商,可求出 Nn(x)的 系数 Ai,
0 0 1 0 0 0 1 1( ) ( ) [,] ( ) [,,] ( ) ( ) ( )n n nN x f x f x x x x f x x x x x x x x
0 0 0
1 0 1
01
( ) [ ]
[,]
[,,,]
nn
A f x f x
A f x x
A f x x x
00
1 0 0 1 0 0 0 1 0
1 0 1 0 1
( ) ( )
( ) ( ) [,] ( ) ( ) [,] ( )
( ) ( ) [,,] ( ) ( ) ( )
k k k k
N x f x
N x f x f x x x x N x f x x x x
N x N x f x x x x x x x x
因此,每增加一个结点,Newton插值多项式只增加一项,克服了 Lagrange插值的缺点 。
.
xk f(xk) 一阶差商 二阶差商 三阶差商 …… n 阶差商差商表
1
2
3
o
n
x
x
x
x
x
0
1
2
3
[]
[]
[]
[]
[]
n
fx
fx
fx
fx
fx
01
12
23
1
[,]
[,]
[,]
[,]
nn
f x x
f x x
f x x
f x x
0 1 2
1 2 3
21
[,,]
[,,]
[,,]
n n n
f x x x
f x x x
f x x x
0 1 2 3
3 2 1
[,,,]
[,,,]n n n n
f x x x x
f x x x x 01[,,,]nf x x x
例 1:给定 f(x)=lnx的数据表
xi 2.20 2.40 2.60 2.80 3.00
f(xi) 0.78846 0.87547 0.95551 1.02962 1.09861
1.构造差商表
2.分别写出二次,四次 Newton插值多项式解,差商表
0 0 7 5 5.00 1 6 4 6.00 6 4 0 0.03 4 4 9 5.00 9 8 6 1.100.3
0 2 2 5 0.00 7 3 8 7 5.03 7 0 5 5.00 2 9 6 2.180.2
0 8 7 3 7 5.04 0 0 1 0.09 5 5 5 1.060.2
4 3 5 0 5.08 7 5 4 7.040.2
7 8 8 4 6.020.2
][
四阶差商三阶差商二阶差商一阶差商
ii
xfx
N2(x)=0.78846 +0.43505(x-2.20) - 0.087375(x-2.20) (x-2.40)
N4(x)= 0.78846
+0.43505(x-2.20)
- 0.087375(x-2.20)(x-2.40)
+0.0225(x-2.20)(x-2.40)(x-2.60)
-0.00755(x-2.20)(x-2.40)(x-2.60)(x-2.80)
差商具有如下性质
n
i i
i
n x
xfxxxf
0
10 )('
)(,...,,
性质 1 (差商与函数值的关系 )
00,,,,,,,,,,,,i j n j i nf x x x x f x x x x
性质 2 (对称性),差商的值与结点排列顺序无关
( 1 )
01
()
,,...,
( 1 ) !
n
nf x x x x n
f
,
01( ) [,] 1,,,,,[,],
[,]
nf x a b n x x x x a b
ab?
设 在 上 有 阶 导 数 且则 存 在 使 得性质 3(差商与导数的关系 )
],[)()()( 000 xxfxxxfxf
],,[)(],[],[ 101100 xxxfxxxxfxxf
],...,,[)(],...,[],...,,[ 0010 nnnn xxxfxxxxfxxxf
1
2
… … … …
n?1
1 + (x? x0)? 2 + … … + ( x? x0)…( x? xn?1)? n?1
...))(](,,[)](,[)()( 102100100 xxxxxxxfxxxxfxfxf
)),,,(](,...,[ 100 nn xxxxxxf
))(),,,(](,...,,[ 100 nnn xxxxxxxxxf
Nn(x) R
n(x)
Ai = f [ x0,…,xi ]
证明:
( 1 )
0 1 1
()[,.,,,] ( ) ( )
( 1 ) !
n
n n n
ff x x x x x
n
,
( 1 )
01
()
,,...,
( 1 ) !
n
nf x x x x n
f
,
定理,Newton插值多项式的余项为
Rn( x) = f[x0,x1,… x n,x]?n+1( x)
其中?n+1 (x) =(x - x0)(x - x1 )(x - x2 )…(x - xn)
由插值多项式的 唯一性可知 Nn(x)? Ln(x),
故其余项也相同,即
4.4.3 等距节点的 Newton插值公式与差分一阶向前差分
/* forward
difference */
一阶向后差分
/* backward
difference */
一阶中心差分
/* centered
difference */
当节点 等距 分布时,),...,0(0 nihixx i
( ) ( ) ( )i i if x f x h f x
( ) ( ) ( )i i if x f x f x h
( ) ( ) ( )22i i ihhf x f x f x
一般地,称 k阶差分的差分为 k+1阶差分,如二阶向前和向后差分分别为
2
2
( ) ( ( ) ) ( ( ) ( ) )
( ) ( )
( 2 ) 2 ( ) ( )
( ) ( ( ) ) ( ( ) ( ) )
( ) ( )
( ) 2 ( ) ( 2 )
i i i i
ii
i i i
i i i i
ii
i i i
f x f x f x h f x
f x h f x
f x h f x h f x
f x f x f x f x h
f x f x h
f x f x h f x h
计算各阶差分可按如下差分表进行,
23
00
1 1 0
2
2 2 1 0
23
3 3 2 1 0
23
1 2 3 0
n
i i i i i i
n
n n n n n
x f f f f f
xf
x f f
x f f f
x f f f f
x f f f f f
其中差分具有如下性质
00
( 1 ),( 1 )
!
! ( ) !
kk
k j j k k j j
i k i j k i k i j k
jj
j
k
f C f f C f
k
C
j k j
性质 1(差分与函数值的关系 ) 各阶差分均可表示为函数值的线性组合,
kki i kff性质 2(前差与后差的关系 ):
0
,
( ) !,
0,
nk
kn
P k n
f x a h n k n
kn
性质 3(多项式的差分 ) 若 f(x)∈ Pn(n次多项式类 ),则性质 4(差分与差商的关系 ):
1
1
[,,,]
!
[,,,]
!
k
i
i i i k k
k
i
i i i k k
f
f x x x
kh
f
f x x x
kh
1
()
! [,,,]
( ),( )
kk
i i i i k
kk
i i k
f k h f x x x
h f x x
性质 5(差分与导数的关系)
0
2
0 0 0 0
( ) ( )
( 1 ) ( 1 ) ( 1 )
1 ! 2 ! !
nn
n
N x N x th
t t t t t t n
f f f f
n
(11)
称公式 (11)为 Newton向前差分插值公式,其余项为
1 ( 1 )
0
0
( 1 ) ( )
( ) ( ) ( )
( 1 ) !
(,)
nn
nn
n
t t t n
R x R x th h f
n
xx
(12)
利用这些性质,可将 Newton公式进一步简化为
1
1 1 1 0
( ) ( ) ( ) [,]
( ) ( ) ( ) [,,]
n n n n n
n n n n
N x f x x x f x x
x x x x x x f x x x
令 x=xn-th,则当 x0≤x≤xn时,0≤t≤n.利用差商与向后差分的关系,式 (13)可简化为
(13)
如果将 Newton插值公式 改为按节点 xn,xn-1,…,x0的次序排列的 Newton插值公式,即
( 1 )
11
0
()
( ) ( ) ( 1 ) ( 1 ) ( )
( 1 ) !
n
nn
n n n
n
f
R x R x th h t t t n
n
xx
其余项为注,一般当 x 靠近 x0 时用前插,靠近 xn 时用后插,
故两种公式亦称为 表初公式 和 表末公式 。
22
( ) ( )
( 1 )
( 1 )
2!
( 1 ) ( ( 1 )
( 1 )
!
n n n
n n n
nn
n
N x N x th
tt
f t f f
t t t n
f
n
称式 (14)为 Newton向后差分插值公式
(14)
例 给定 f(x)在等距节点上的函数值表如下,
xi 0.4 0.6 0.8 1.0
f(xi) 1.5 1.8 2.2 2.8
分别用 Newton向前和向后差分公式求 f(0.5)及 f(0.9)的近似值,
解 先构造向前差分表如下,
xi fi △ fi △ 2fi △ 3fi
0.4 1.5
0.6 1.8 0.3
0.8 2.2 0.4 0.1
1.0 2.8 0.6 0.2 0.1
x0=0.4,h=0.2,x3=1.0,分别用差分表中对角线上的值和最后一行的值,得 Newton向前和向后插值公式如下,
3
3
( 1 ) ( 1 ) ( 2)
( 0,4 0,2 ) 1,5 0,3 0,1 0,1
2 3!
( 1 ) ( 1 ) ( 2)
( 1 0,2 ) 2,8 0,6 0,2 0,1
2 3!
t t t t t
N t t
t t t t t
N t t
(1)
(2)
当 x=0.5时,用公式 (1),这时 t=(x-x0)/h=0.5,将 t=0.5代入 (1),得
f (0.5)≈N3(0.5)=1.64375.
当 x=0.9时,用公式 (2),这时 t=(x3-x)/h=0.5,将 t=0.5代入 (2),得
f (0.9)≈N3(0.9)=2.46875.