数值分析(26) 线性多步法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析
数值分析
隐式法与显式法的比较 一般地,同阶的隐式法比显式法精确,而且数值 稳定性也好。但在隐式公式中,通常很难解出yn+1 , 需 要用迭代法求解,这样又增加了计算量。 在实际计算中,很少单独用显式公式或隐式公式, 而是将它们联合使用:先用显式公式求出y(xn+1 )的预 估值,记作y n1 , 再用隐式公式对预估值进行校正,求 出y(xn+1 )的近似值yn1。
Pn1 )
预估 改进 校正 改进
数值分析
数值分析
完全类似,可以导出多环节的Mi ln e Ham min g 预估-校正公式
Pn1
yn3
4 3 h(2 fn
fn1
2 fn2 )
mn1
Pn1
112 121 (cn
pn )
Cn1
1 8 (9 yn
yn2 )
3 8 h[ f ( xn1 , mn1 ) 2
,xn
k
的
1
F ( x)的k次插值多项式k ( x)代替F ( x)求积分,
即得k 1阶的线性多步公式。
数值分析
数值分析
例如k 3时,过节点xn , xn1 , xn2 , xn3 , F ( x)
3
的三次插值多项式为 L3 ( x) li ( x)F ( xni ) i0
其中
li ( x)
yn1
yn
h 24 (55 fn
59 fn1
37
fn2
9 fn3 )
这就是四阶Adams显式公式。由于积分区间在插值
区间[ xn3 , xn ]外面,又称为四阶Adams外插公式。
由插值余项公式可得其局部截断误差为
Rn1
xn1 xn
F (4) ( x )
4!
3 j0
(x
xn j )dx
5!
h5 O(h6 )
的前p+1项重合。
yn1 (0 1 ) yn (1 1 0 1 ) yn' h
(1
2
1
1 ) yn''h2
( 1
6
1
2
1
2
) yn'''h3
(1
24
1
6
1
6
)
y(4) n
h4
(
1
120
1
24
1
24
)
yn( 5 ) h5
O(h6 )
数值分析
数值分析
a0 a1 1
(
x
xn1 )(
x
xn2 6h3
)( x
xn3
)
dx
F ( xn1 )
xn1 xn
(
x
xn
)( x
xn2 2h3
)( x
xn3
)
dx
F ( xn2 )
xn1 xn
(x
xn
)(
x
xn1 )( x 2h3
xn3
)
dx
F ( xn3 )
xn1 xn
(x
xn
)(
x
xn1 )( x 6h3
构造线性多步公式常用Taylor展开和数值积分方法。
数值分析
数值分析
一、线性多步公式的导出
利用Taylor展开导出的基本方法是:将线性多步
公式在xn处进行Taylor展开,然后与y(xn+1 )在xn处的 Taylor展开式相比较,要求它们前面的项重合,由此
确定参数
i
,
。
i
设初值问题的解y( x)充分光滑,待定的两步公式为
3!
4!
5!
fn1 f ( xn1 , yn1 ) y'( xn1 )
yn'
yn''h
y''' n
2!
h2
y(4) n
3!
h3
y(5) n
4!
h4 O(h(5) )
fn f ( xn , yn ) yn'
fn1 f ( xn1 , yn1 ) y'( xn1 )
yn'
yn''h
0满足方程组前三个
方程,故源自文库式
h yn1 yn 2 ( fn1 fn )
此为二阶公式。
又如:解上面方程组得0
0,1
1, 1
1
1 3
,0
4 3
相应的线性二步四阶公式(Simpson公式)为
h yn1 yn1 3 ( fn1 4 fn fn1 )
数值分析
数值分析
二、常用的线性多步公式
(1)阿达姆斯(Adams)公式
xn ) p
O(( x
xn
) p1 )
假设前n步计算结果都是准确的,即yi y( xi ), y'( xi ) f ( xi , yi ) (i n),则有
数值分析
数值分析
yn1
y( xn
h)
yn
yn' h
yn'' h2 2!
y''' n
h3
y(4) n
h4
y(5) n
h5
O(h(6) )
yn
h 24 [9 f ( xn1 , yn1 ) 19 fn
5 fn1
fn2 ]
预估 校正
数值分析
数值分析
Mi li ne Ham min g预估—校正系统
yn1
4 yn3 3 h(2 fn
fn1 2 fn2 )
yn1
1 8 (9 yn
yn2 )
3 8 h[ f ( xn1,
xn2
)
dx
h 24 [55F ( xn ) 59F ( xn1 ) 37F ( xn2 ) 9F ( xn3 )]
数值分析
数值分析
对上式用yn , yn1代替y( xn ), y( xn1 ), 用fk ( xk , yk ) 代替F ( xk ) f ( xk , y( xk )) (k n, n 1, n 2, n 3), 则得
y''' n
2!
h2
y(4) n
3!
h3
y(5) n
4!
h4 O(h(5) )
数值分析
数值分析
将以上各公式代入并整理,得
yn1 (0 1 ) yn (1 1 0 1 ) yn' h
(1
2
1
1 ) yn''h2
( 1
6
1
2
1
2
) yn'''h3
(1
24
1
6
1
6
)
y(4) n
Rn1
14 45
h5
y(5) n
O(h6 )
Miline公式是四阶四步显式公式。
数值分析
数值分析
(4)哈明(Ham min g)公式
1
3
yn1
8 (9 yn
yn2 )
h( 8
fn1
2 fn
fn1 )
其局部截断误差为
Rn1
1 40
h5
y(5) n
O(h6 )
Hamming公式是四阶三步隐式公式。
yn1) 2 fn
fn1 )]
说明:
(1)以上两种预估—校正系统均为四阶公式,其起步值 通常用四阶R-K公式计算。
(2)有时为提高精度,校正公式可迭代进行多次,但迭
代次数一般不超过3次。
数值分析
数值分析
用局部截断误差进一步修正预测-校正公式
由Adams公式的局部截断误差公式
y( xn1 )
yn1
(x
xn
)( x
xn1 )(
3
x
xn2 )( x
xn3
)
( x xni ) ( xni xn j )
j0
ji
(i 0,1, 2, 3)
数值分析
数值分析
y( xn1 ) y( xn )
xn1 xn
L3 (
x)dx
3
[
i0
xn1 xn
li
(
x
)dx
]F
(
xn
i
)
F ( xn )
xn1 xn
fn
fn1 ]
yn1
Cn1
9 121
(Cn1
Pn1 )
预估 改进 校正 改进
数值分析
数值分析
算法
(1)输入 a, b, f ( x, y), N , y0
(2)
置h
ba N
,
x0
a,
n
1
(3) 计算 fn1 f ( xn1, yn1)
K1 hfn1
K2
hf
( xn1
h, 2
yn1
K1 ) 2
xn1 xn
y(5) ( x )
4!
3
(x
j0
xn j )dx
数值分析
数值分析
由积分中值定理,存在 (xn3 , xn1 ), 使得
y(5)()
Rn1 4!
xn1 xn
3 j0
(x
xn j
)dx
251 720
h5
y(5) ( )
数值分析
数值分析
同样,如果过节点xn+1 , xn , xn1 , xn2的F ( x)三次
yn1
251 720
h5 yn(5)
O(h6 )
y( xn1 )
yn1
19 720
h5
y(5) n
O(h6 )
h5
y(5) n
720 270 ( yn1
yn1 )
得
251 y( xn1 ) yn1 270 ( yn1 yn1 )
19 y( xn1 ) yn1 270 ( yn1 yn1 )
Rn1
19 720
h5
y(5) n
O(h6 )
数值分析
数值分析
(2)基于数值积分的Adams公式
基本思想是首先将初值问题化成等价的
积分形式
y( xn1 ) y( xn )
xn1 f ( x, y( x))dx
xn
xn1 F ( x )dx xn
用过节点xn , xn1,L
, xnk或xn+1 ,xn ,L
h yn1 yn 24 (55 fn 59 fn1 37 fn2 9 fn3 )
此式称为Adams显式公式,是四阶公式.
局部截断误差为
Rn1
251 720
h5
y(5) n
O(h6 )
h yn1 yn 24 (9 fn1 19 fn 5 fn1 fn2 )
为四阶Adams隐式公式,其局部截断误差为
k
k
j yn j h j f ( xn j , yn j )
j0
j0
其中 j , j均为常数.式中k 0,上式也可表示为
k 1
k
ynk j yn j h j f ( xn j , yn j )
j0
j0
若02
2 0
0称为多步法。若 k=0时,为显式多步法;
k 0时,为隐式多步法。
其局部截断误差为
Rn1
19 720
h5
yn(5) (
)
xn2 xn1
由于积分区间在插值区间[ xn2 , xn1 ]内,故Adams隐式
公式又称为Adams内插公式
数值分析
数值分析
(3)米尔尼( Miline )公式
4 yn1 yn3 3 h(2 fn fn1 2 fn2 ) 称为Miline公式,其局部截断误差为
yn1 0 yn 1 yn1 h(1 fn1 0 fn 1 fn1 )
数值分析
数值分析
记yn(k) y(k) ( xn ) (k 1, 2,L ),则y( x)在xn处的 Taylor展开为
y( x)
yn
yn' ( x
xn )
yn'' 2
(x
xn )2
L
y( p) n p!
(x
h4
(
1
120
1
24
1
24
)
yn(5
)h5
O(h6 )
yn1 0 yn 1 yn1 h(1 fn1 0 fn 1 fn1 )
数值分析
数值分析
为使上式有p阶精度,只须使其与y( xn1 )在xn处的 Taylor展开式
y( xn1 )
yn
yn' h
yn'' h2 L 2!
y(5) n
2
插值多项式为
L3( x) li ( x)F ( xni )
i 1
其中li
(x)
(x
xn1 )( x
xn )( x
3
xn1 )( x
xn2 )
( x xni ) ( xni xn j )
j 1
ji
(i 1, 0,1, 2)
代替F ( x)求积分,即得四阶Adams隐式公式
h yn1 yn 24 (9 fn1 19 fn 5 fn1 fn2 )
数值分析
数值分析
三、预估-校正算法
用显式公式计算预估值,然后用隐式公式进行校正, 得到近似值yn+1这样一组计算公式称为预估-校正算法
一般采用同阶的隐式公式与显式公式。常用的预估 -校正算法有两种:
Adams预估—校正系统
yn1
yn
h 24 (55 fn
59 fn1
37
fn2
9
fn3 )
yn1
数值分析
第三节 线性多步法
单步法在计算yn1时,只用到前一步的信息yn。 为提高精度,需重新计算多个点处的函数值,如R-K 方法,计算量较大。如何通过较多地利用前面的已知 信息,如yn,yn-1,L ,yn-k ,来构造高精度的算法计算yn1, 这就是多步法的基本思想。
数值分析
数值分析
多步法中最常用的是线性多步法,它的一般形式为
a0
1
0
1
1
1 2
a1
1
1
1 2
1 6
a1
1 2
1
1 2
1
1 6
1 24 a1
1 6
1
1 6
1
1 24
5个参数,只须5个条件。由推导知,如果选取参数
i , i,使其满足前P 1个方程(p=1,2,3,4),则
近似公式为p阶公式。
数值分析
数值分析
如0
1,1
0, 1
0
1 2
, 1
K3
hf
( xn1
h, 2
yn1
K2 2
)
K4 hf ( xn1 h, yn1 K3 )
1 yn yn1 6 (K1 2K2 2K3 K4 )
xn a nh
(4)输出( xn , yn )
数值分析
数值分析
数值分析
由上面就得到多环节的Adams预估-校正公式
Pn1
yn
h 24 (55 fn
59 fn1
37
fn2
9 fn3 )
mn1
Pn1
251 270 (Cn
Pn )
Cn1
yn
h 24 [9 f ( xn1 , mn1 ) 19 fn
5 fn1
fn2 ]
yn1
Cn1
19 270 (Cn1
251 720
h5
y(5) n
O(h6 )
y( xn1 )
yn1
19 720
h5
y(5) n
O(h6 )
两式相减
yn1
yn1
270 720
h5
y(5) n
O(h6 )
h5
y(5) n
720 270 ( yn1
yn1 )
数值分析
数值分析
用局部截断误差进一步修正预测-校正公式
由
y( xn1 )