Upload
others
View
42
Download
0
Embed Size (px)
Citation preview
第4章 插值方法(2)
1. Lagrange插值方法回顾
0 0 1 1( ) ( ) ( ) ( ) ( ) ... ( ) ( )n n nL x f x l x f x l x f x l x
0
( )n
ij
i j ij i
x xl x
x x
0 1 1 1, , , , , , ,j j j nx x x x x x x
0, 0, , 0, 1, 0, , 0y
误差估计
)()!1(
)()()()(
)1(
xn
fxLxfxR
n
nn
罗尔定理
1 2 1 2( ) ( ) 0 ( )f x f x x x 1 1 1 2( ) 0 ( )f x x
1x 2x1
0 1 2 3 4 5 6 3 2 1n n n nx x x x x x x x x x x x
xxxxt n ,,..., 10 F(t)=0
(1) (1) (1) (1) (1) (1) (1) (1) (1) (1)0 1 2 3 4 5 3 2 1n n n n F’(t)=0
(2) (2) (2) (2) (2) (2) (2) (2)0 1 2 3 4 3 2 1n n n F”(t)=0
F(n+1)(t)=0
)()()()()( txktLtftF n
问题:高于 n 阶的多项式情况如何?
4( )f x x
求插值节点为 -1, 0, 1, 2 的三次多项式
• Langrange插值也有其不足: 为了提高精度有时
需增加结点,原来的数据不能利用,浪费资源
Aitken和Neville插值方法
Aitken和Neville插值方法
Aitken和Neville插值方法
Aitken和Neville插值方法
)()(!
)(...
)(!2
)()(
!1
)()()(
Lagrange
00
)(
2
00
''
00
'
0
xRxxn
xf
xxxf
xxxf
xfxf
Tarlor
n
nn
展式计算近似值:
想到插值法的缺点,使我们由于
Newton插值法
0
0 00
0 0
( )
( ) ( ) ( ) ( )( ) lim
x x
f x
f x f x f x f xf x
x x x x
要想提高精度只要增加项数即可,以前的
数据仍然有用,而上式就是求 得导数:
由此引入插商的概念。
差商及其性质
],[)()(
],[)()(
],[)()(
12
12
12
01
01
01
ji
ji
jixxf
xx
xfxf
xxfxx
xfxf
xxfxx
xfxf
一般地,一阶差商:
由导数的概念引入:
0 1 1 20 1 2
0 2
0 1 1 1 20 1 2 1
0
[ ] [ , ][ , , ]
[ , ] [ , ][ , , ]
[ , ,... ] [ , ,..., ][ , , ,... , ]
i j j k
i j ki k
n nn n
n
f x x f x xf x x x
x x
f x x f x xf x x x
x x
n
f x x x f x x xf x x x x x
x x
二阶差商是一阶差商的差商
,
一般地,二阶差商:
阶差商为:
0 1
0 1
0
0 1
1 [ , ,..., ]
( ) ( 0,1, 2,..., )
( )[ , ,..., ]
( )
( ) ( )( )....( )
n
j
nj
n
j n j
n n
n f x x x
f x j n
f xf x x x
x
x x x x x x x
性质 阶差商 可以表示为
函数值 的线性组合,即
其中
0 1 1 1( ) ( )( )...( )( )...( )n j j j j j j j nx x x x x x x x x x x
0 1 1 20 1 2
0 2
[ , ] [ , ][ , , ]
f x x f x xf x x x
x x
0 1 1 2
0 2 0 1 1 2
1 ( ) ( ) ( ) ( )f x f x f x f x
x x x x x x
0 21
0 2 0 1 0 1 1 2 1 2
1 ( ) 1 1 ( )( )
f x f xf x
x x x x x x x x x x
0 1 2
0 1 0 2 1 0 1 2 2 0 2 1
( ) ( ) ( )
( )( ) ( )( ) ( )( )
f x f x f x
x x x x x x x x x x x x
差商的性质
性质 2 差商与节点排列顺序无关,即
0 1 0 1[ , , , ] [ , , , ]ni i i nf x x x f x x x
其中,0 1, , , ni i i 是 0,1,…,n 的任意一种排列
性质 3 若 ( )f x 是 x 的 m 次多项式,则0[ , ]f x x 是 x 的 m-1 次多项
式; 0 1[ , , ]f x x x 是 x 的 m-2 次多项式
由差商定义
00
0
( ) ( )[ , ]
f x f xf x x
x x
0 0 0( ) ( ) ( ) [ , ]f x f x x x f x x (1)
0 0 10 1
1
[ , ] [ , ][ , , ]
f x x f x xf x x x
x x
0 0 1 1 0 1[ , ] [ , ] ( ) [ , , ]f x x f x x x x f x x x (2)
)4(],,,[)(],,[],,[
],,,[],,[],,[
)3(],,[))((
],[)()()(
1)2(
210221010
210
2
21010
2
1010
1000
xxxxfxxxxxfxxxf
xxxxfxx
xxxfxxxf
x
xxxfxxxx
xxfxxxfxf
得
,则点为了提高精度,增加节
)式得:式代入(
4 式代入 3 式得:
𝑓 𝑥 = 𝑓 𝑥0 + 𝑥 − 𝑥0 𝑓 𝑥0, 𝑥1 + 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑓[𝑥0, 𝑥1, 𝑥2]+ 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑓[𝑥, 𝑥0, 𝑥1, 𝑥2]
一般的,在节点𝑥0, 𝑥1, 𝑥2, … , 𝑥𝑛上有
插值公式和余项。
上的在节点分别为、其中 Newton}{)()()(
)()(
],...,,[))()...()((
],...,[))...()((...
],,[))((],[)()()(
0
10110
110110
210101000
n
inn
nn
nnn
nn
xxfxRxN
xRxN
xxxxfxxxxxxxx
xxxfxxxxxx
xxxfxxxxxxfxxxfxf
)()()(
)()(
],[)()(
}],[],[
)(],[){()(
]},,[)(],[){()()(
)()()(
)()(
],[)()()(
)()(
2
02
02020
02020
12
10021210020
21012100202
1
01
01010
100101
00
xfxx
xfxfxxxf
xxfxxxf
xx
xxfxxfxxxxfxxxf
xxxfxxxxfxxxfxN
xfxx
xfxfxxxf
xxfxxxfxN
xfxN
n
n
n
可以验证:
类似地可以证明𝑁𝑛 𝑥𝑖 = 𝑓 𝑥𝑖 𝑖 = 0,1,2,… , 𝑛
由插值的唯一性知:𝑁𝑛 𝑥 = 𝐿𝑛 𝑥 ,因此他们的余项相等
即:𝜔 𝑥 𝑓[𝑥, 𝑥0, 𝑥1, … , 𝑥𝑛] =𝑓 𝑛+1 𝜉
𝑛+1 !𝜔(𝑥)
故有差商与导数的关系
𝑓 𝑥, 𝑥0, 𝑥1, … , 𝑥𝑛 =𝑓 𝑛+1 𝜉
𝑛 + 1 !𝜔 𝑥
其中,𝜉介于𝑥, 𝑥0, 𝑥1, … , 𝑥𝑛的最大值与最小值之间。
Newton插值计算
• 插商表1
0 1
1
00 1
[ , ] [ , ][ , , ]
n
nn
f x x f x xf x x x
x x=
-
- 0 1 0 1 20 1 2
2
[ , , ] [ , , ][ , , , ]n
n
nf x x x f x x xf x x x
x xx
-
-=
插商表2
kx )( kxf 一阶差商 二阶差商 三阶差商 n 阶差商 单元号
0x )( 0xf F(0)
1x )( 1xf 0 1[ , ]f x x
F(1)
2x )( 2xf 1 2[ , ]f x x
0 1 2[ , , ]f x x x F(2)
3x )( 3xf 2 3[ , ]f x x
1 2 3[ , , ]f x x x F(3)
nx )( nxf 1[ , ]n nf x x
2 1[ , , ]n n nf x x x
3 2 1[ , , , ]n n n nf x x x x 0 1[ , , , ]nf x x x F(n)
2 3 1 21 2 3
3 1
[ , ] [ , ][ , , ]
f x x f x xf x x x
x x=
-
- 2 1
2
12 1
[ , ] [ , ][ , , ]
n n n nn n n
n n
f x x f x xf x x x
x x
- -- -
-
-=
-
-
4 0 0 0 1 0 1 0 1 2( ) ( ) ( ) [ , ] ( )( ) [ , , ]N x f x x x f x x x x x x f x x x
0 1 2 0 1 2 3( )( )( ) [ , , , ]x x x x x x f x x x x
0 1 2 3 0 1 2 3 4( )( )( )( ) [ , , , , ]x x x x x x x x f x x x x x
0 0 0 1 1 0 1 2( ) ( )( [ , ] ( )( [ , , ]f x x x f x x x x f x x x
2 0 1 2 3( ) [ , , , ]))x x f x x x x (4.2.3)
例题
x 0.40 0.55 0.65 0.80 0.90 1.05
f(x) 0.4107 0.57815 0.69675 0.88811 1.02652 1.25386
例:设函数 y=f(x)在各节点的取值如下
表所示,试计算各阶差分值。
• 在实际应用中 ,常是等距节点情况,即
这里h>0为常数,称为步长,这时Newton插值
公式就可以简化,为此我们引入差分概念。
),...,2,1,0( niihaxi
定义: 设函数 f(x)在等距节点ix a ih (i=0,1,2,…,n)上值
为 ( )i if f x ,则
等距节点Newton插值公式
(1)称1i i if f f (i=0,1,2,…,n)为函数 f(x)在点 0{ }n
ix 上的一
阶向前差分(简称差分);又称 1 1
1
k k k
i i if f f
(k=1,2,…,n;i=0,1,…,n-k)为函数 f(x)在点 0{ }n
ix 上的 k 阶向
前差分,这里约定 0{ }n
ix ;
(2) 称 1 iii fff (i=n,n-1,…,1)为函数 f(x)在点1i i if f f 上的后
差分;又称 1 1
1
k k k
i i if f f
(k=1,2,…,n; i=n-k+1,…,2,1)为
函数 f(x)在点 0{ }n
ix 上的 k 阶向后差分,同样约定 0
i if f 。
等距节点Newton插值公式
• 插商与差分的关系
(1)用前插表示N(x)
在等距节点条件下有:
0
01
0110
1)()(],[ f
hxx
xfxfxxf
010
0
2
2
01
02
1021210
!
1],...,,[
!2
1
2
11
]),[]),[],,[
fhn
xxxf
fhh
fh
fh
xx
xxfxxfxxxf
n
nn
一般有
),(),())...(1()!1(
)(
!
)1)...(1(...
!2
)1(
!1
)()(
,
00
)1(1
00
2
00
0
0
hxxfntttn
hxR
fn
ntttf
ttf
tf
thxNxN
Newtonthxx
nn
n
n
nn
式插值公式和余式具有形则若令
(2)用后插表示N(x)
0 1 1 0
1
1 1 2
1 1 1 1 0
, ,..., , ,... ,
( ) ( ) ( ) [ , ]
( )( ) [ , , ] ...
( )( )...( ) [ , ,... , ]
n n n
n n n n n
n n n n n
n n n n
x x x x x x
Newton
N x f x x x f x x
x x x x f x x x
x x x x x x f x x x x
如果将节点 倒排序为:
则 插值公式为:
同样有:
n
n
nnn
n
nn
nn
nnnnnnn
n
nn
nnnn
fhn
xxxxf
fhh
fh
fh
xx
xxfxxfxxxf
fhxx
xfxfxxf
!
1],,...,,[
!2
1
2
11
],[],[],,[
1)()(],[
011
2
2
1
2
21121
1
11
一般有
),(),())...(1()!1(
)(
!
)1)...(1(...
!2
)1(
!1)()(
)0(
)1(1
2
nn
nn
n
n
n
nnnnnn
n
xnhxfnsssn
hxR
fn
nsss
fss
fs
fshxNxN
sshxx
则一般取若令
例题
例:设函数 y=f(x)在各节点的取值如下
表所示,试计算各阶差分值。
解:列差分表如下
x 0 0.2 0.4 0.6 0.8 1.0
f(x) 1 0.818 731 0.670 320 0.548 812 0.449329 0.367 879
x f(x) 2 3
4 5
0 1 -0.181 269 0.032 858 -0.005 955 0.001 077 -0.000 191
0.2 0.818 731 -0.148 411 0.026 903 -0.004 878 0.000886
0.4 0.670 320 -0.121 508 0.022 025 -0.003 992
0.6 0.548 812 -0.099 483 0.018 033
0.8 0.449 329 -0.081 450
1.0 0.367 879
例题
试用Newton插值公式计算sin 𝒙在𝑥 = 𝜋/12处的近似值。
已知sin(0), sin𝝅
𝟔, sin(
𝝅
𝟒) , sin(
𝝅
𝟑) , sin(
𝝅
𝟐) 的函数值。
列差商表
f(x)=sin x 关于节点0, , , ,6 4 3 2
的差商表
kx ( )kf x 一阶差商
二阶差商
三阶差商
四阶差商
0
0
6
1
2
0.954 929 658
4
2
2
0.791 089 691
-0.208 607 6
3
3
2
0.607024424 -0.351 538 65 -0.136 489 09
2
1 0.255 872 63 -0.447 100 35 -0.091 254 70 0.028 797 106
258587908.0
)))028797106.0)312
(13648909.0)(412
(
2086076.0)(612
(954929658.0)(012
(0)12
(4
N
真值 0.2588190451