计算方法-9.5线性多步法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xn1
3 9 y( xn1 ) y( xn2 ) hy( xn1 ) hy( xn1 ) 4 4
Rn 1
xn1
xn1
y ( 4) ( ) ( x xn 1 )(x xn )(x xn 1 )dx (3)!
3 4 ( 4) h y ( ) 8
2016/8/14
5
若积分
xn1
xn1
xnr
y' ( x)dx 用节点
xn , xn1,, xnq
作为积分点,则有
xnr
y' ( x)dx h[a0 y' ( xn ) a1 y' ( xn1) aq y' ( xnq )] hRn1
局部截断误差
q
y' ( xn ) f ( xn , y( xn ))
Rn 1
xn1
xn
y ( 4) ( ) ( x xn )( x xn 1 )( x xn 2 )dx 3!
三阶显式Adams方法
14
3 4 ( 4) h y ( ) 8
2016/8/14
同理再增加节点得到四阶显式Adams公式 r=0,积分区间为
xn1
q=3,显式格式,积分节点为 xn , xn 1 , xn 2 , xn 3 所以
15
2016/8/14
ha2
xn1
xn
( x xn )( x xn 1 )( x xn 3 ) 37 dx h ( xn 2 xn )( xn 2 xn 1 )( xn 2 xn 3 ) 24
( x xn )( x xn 1 )( x xn 2 ) 9 dx h ( xn 3 xn )( xn 3 xn 1 )( xn 3 xn 2 ) 24
ha3
xn1
xn
55 59 y( xn1 ) y( xn ) hy( xn ) hy( xn1 ) 24 24 37 9 hy( xn2 ) hy( xn3 ) 24 24
2016/8/14
四阶显式Adams方法
16
其对应的局部截断误差为
Rn 1
xn1
…
…
…
…
…
…
(2)隐式Adams方法
隐式格式表明构造定积分 式中包含了节点xn+1。
xn1
xn
y' ( x)dx 的近似公
类似显式公式的推导过程,可得到不同精度的隐式 Adams公式 r=0,积分区间为
xn1
xn
y' ( x)dx
q=1,显式格式,积分节点为 xn , xn 1
1 1 y( xn1 ) y( xn ) hy( xn ) hy( xn1 ) 2 2
它的截断误差较显式格式小,通常也具有更好的 稳定性。
2016/8/14 10
Adams公式 -- r=0 时候的多步法 Adams方法是线性多步法的一个代表,它是利 用插值多项式进行积分得出来的,这样构造线性多 步法的方法称为数值求积法,它是构造线性多步法 的一种途径,另外还有Taylor法。 (1)显式Adams方法
xn
y (5) ( ) ( x xn )( x xn 1 )( x xn 2 )( x xn 3 )dx 4!
251 5 (5) h y ( ) 720
2016/8/14
17
注:一般有 Rn1 Bk h k 2 y (k 2) (i ) ,其中Bq与yn+1 计算公式
3 1 y( xn1 ) y( xn ) hy( xn ) hy( xn1 ) 2 2
Rn 1
xn1
xn
y (3) ( ) ( x xn )( x xn 1 )dx 2!
二阶显式Adams方法
12
2016/8/14
5 3 (3) h y ( ) 12
类似方法可通过增加节点得到更高精度的三阶显 式Adams公式 r=0,积分区间为
§ 9.5 线性多步法
单步法计算时只用到前一步的结果,因此只要 给定初值,计算就可以进行下去。但是Euler等单步 法的精度都较低,龙格-库塔方法虽然可以得到较高 的精度,但这类算法为了提高精度,需要增加一些 非节点处的函数值的计算,在每一步都需要先预报 这些非节点上的斜率值,计算量比较大。考虑到计 算yi+1之前已得出一系列节点上的斜率值,能否利用 这些已知值来减少计算量呢?这就是线性多步法的 设计思想,可以在计算量增加不多的情况下获得较 高的精度。
2016/8/14 4
(n 0,1,2,...)
(2) 对右端定积分采用梯形 公式, 略去误差项有 h yn 1 yn (f ( xn , yn ) f ( xn 1 , yn 1 )) 2 这就是熟知的梯形公式 。 有望提高精度。 (n 0,1,2,...)
(3)如果对右端用高次插 值多项式代替被积函数 ,则
13
xn
2016/8/14
ha2
xn1
xn
( x xn )( x xn 1 ) 5 dx h ( xn 2 xn )( xn 2 xn 1 ) 12
23 4 5 y( xn1 ) y( xn ) hy( xn ) hy( xn1 ) hy( xn2 ) 12 3 12
a
k 0
r
k
yn k h
k 1
r
k f nk
其中, f nk f ( xnk , ynk )(k 1,0,1,..., r ).
当 10 时,为隐式公式;1=0 则为显式公式。
2016/8/14 2
构造线性多步法的主要方法:数值积分法和泰 勒展开法。 基于数值积分的构造法 将 y f ( x, y ) 在 [ xn r , xn 1 ] 上积分,得到
xn
y' ( x)dx
ha0
xn
xn1
xn
( x xn 1 )( x xn 2 )( x xn 3 ) 55 dx h ( xn xn 1 )( xn xn 2 )( xn xn 3 ) 24
ha1
xn1
( x xn )( x xn 2 )( x xn 3 ) 59 dx h ( xn 1 xn )( xn 1 xn 2 )( xn 1 xn 3 ) 24
2016/8/14 1
用已知的若干节点处的 y 及 y‘ 值的线性组合来近似 y(xn+1)。线性多步法通式可写为:
yn 1 a0 yn a1 yn 1 ... ar 1 yn r 1 ar yn r
h( 1 f n 1 0 f n 1 f n 1 ... r f n r )
y( xn1) y( xnr )
xn1
xnr
f ( x, y( x))dx
f ( x, y( x))dx , 只要近似地算出右边的积分 I r xnr 则可通过 yn 1 yn r I r 近似y(xn+1) 。而选用不同近 似式 Ir,可得到不同的计算公式。
2016/8/14 3
中 fn , …, fnq 各项的系数均可查表得到 。
q 0 fn 1
3 2 1 2
f n 1
f n 2
f n 3
…
Bq
1 2
1
2 3
5 12
23 12 55 24
16 12 59 24
5 12 37 24 9 24
3 8
251 720
…
常用的是 q = 3 的4阶阿当姆斯显式公式 h yn1 yn (55 f n 59 f n1 37 f n2 9 f n3 ) 24
从简单情况入手 r=0,积分区间为
xn1
xn
y' ( x)dx
q=1,显式格式,积分节点为 xn , xn1
2016/8/14 11
所以
ha0
ha1
xn1
xn
( x xn 1 ) 3 dx h ( xn xn 1 ) 2
xn1
xn
( x xn ) 1 dx h ( xn 1 xn ) 2
xn1
( x xn1 )(x xn1 ) ha1 dx 0 x n 2 ( x x n n 1 )(xn xn 1 )
xn1
2016/8/14 9
( x xn1)(x xn ) 9 ha2 dx h 4 xn2 ( xn 1 xn 1)(xn 1 xn )
2016/8/14 6
同样,若以 xn1, xn ,, xnq1 为积分节点,可以 构造r+1步q+1阶隐格式
例:建立r=1,q=2的显式格式
r=1,积分区间为
xn1
xn1
y' ( x)dx
q=2,显式格式,积分节点为 xn , xn 1 , xn 2 所以
2016/8/14
( x xn1 )(x xn 2 ) 7 ha0 dx h xn1 ( x x 3 n n 1 )(xn xn 2 )
xn1
对积分式分别采用矩形公式和梯形公式可得到
欧拉公式和改进欧拉公式,截断误差分别为O(h2) 和O(h3)。为此,我们自然可以想到,若用更高次 的插值多项式来代替f(x,y),则所得公式的精度会更 高。这就是基于数值积分方法构造线性多步法的起
源思想。
(1) 对右端定积分采用左矩 形公式, 略去误差项有 y ( xn 1 ) y ( xn ) hf ( xn , y ( xn )) 由于每一步得到的y ( xn 1 )只能是近似值, 故有 y n 1 y n hf ( xn , y n ) 这就是著名的Euler 公式。
y( xn1) y( xnr ) h
a f ( x
j j 0
n j , y( xn j )) hRn 1
积分系数 ha j
xn1
xn r
l j ( x)dx
xn1 y ( q 2) ( )
xnr
(q 1)!
q 1 ( x)dx
这是显式格式,q+1阶r+1步格式。
8
2016/8/14
例:建立r=2,q=2的隐格式
r=2,积分区间为
xn1
xn2
y' ( x)dx
q=2,隐式格式,积分节点为
xn 1 , xn , xn 1
所以
( x xn )(x xn1 ) 3 ha0 dx h xn2 ( x 4 n 1 xn )(xn 1 xn 1 )
xn1
7 2 1 y( xn1 ) y( xn1 ) hy( xn ) hy( xn1 ) hy( xn2 ) 3 3 3
Rn 1
ቤተ መጻሕፍቲ ባይዱ
xn1
xn1
y ( 4) ( ) 1 4 ( 4) ( x xn )(x xn 1 )(x xn 2 )dx h y ( ) (3)! 3
xn1
xn
y' ( x)dx
q=2,显式格式,积分节点为 xn , xn 1 , xn 2 所以
ha0
ha1
xn1
xn
xn1
( x xn 1 )( x xn 2 ) 23 dx h ( xn xn 1 )( xn xn 2 ) 12
( x xn )( x xn 2 ) 4 dx h ( xn 1 xn )( xn 1 xn 2 ) 3
xn1
7
( x xn )(x xn2 ) 2 ha1 dx h xn1 ( x 3 n 1 xn )(xn 1 xn 2 )
xn1
( x xn )(x xn1 ) 1 ha2 dx h xn1 ( x 3 n 2 xn )(xn 2 xn 1 )
2016/8/14
1 3 (3) Rn1 h y ( ) 12
二阶隐式Adams方法
19
r=0,积分区间为
xn1
q=2,显式格式,积分节点为 xn 1 , xn , xn 1 5 2 1 y( xn1 ) y( xn ) hy( xn1 ) hy( xn ) hy( xn1 ) 12 3 12 1 4 ( 4) 三阶隐式Adams方法 Rn1 h y ( ) 24 r=0,积分区间为