1.5 线性多步法解析
线性多步法
多步法应用于常微分方程的数值解。
从概念上讲,数值方法从初始点开始,然后在时间上向前迈出一小步,以找到下一个求解点。
该过程的下一步是绘制解决方案。
一步法(例如Euler方法)仅引用前一点及其导数来确定当前值。
诸如Runge Kutta之类的方法采取一些中间步骤(例如,半个步骤)来获得高阶方法,但是在进行第二步之前会丢弃所有先前的信息。
多步尝试通过保留和使用先前步骤中的信息而不是丢弃信息来提高效率。
因此,多步法涉及前几个要点和导数。
在多步的情况下,使用先前点和导数的线性组合。
简单的介绍多步法应用于常微分方程的数值解。
从概念上讲,数值方法从初始点开始,然后在时间上向前迈出一小步,以找到下一个求解点。
该过程的下一步是绘制解决方案。
一步法(例如Euler方法)仅引用前一点及其导数来确定当前值。
诸如Runge Kutta之类的方法采取一些中间步骤(例如,半个步骤)来获得高阶方法,但是在进行第二步之前会丢弃所有先前的信息。
多步尝试通过保留和使用先前步骤中的信息而不是丢弃信息来提高效率。
因此,多步法涉及前几个要点和导数。
在多步的情况下,使用先前点和导数的线性组合。
[1-3]具体定义常微分方程的数值方法近似地解决了形式初值问题结果是离散时间的Ti的Y(T)的近似值其中h是时间步长,而I是整数。
Multistep使用上一步中的信息来计算下一个值。
特别地,多步法使用Yi和f(Ti,Yi)来计算所需当前步长的Y值。
因此,多步方法是以下形式的方法:确定系数AI和Bi。
该方法的设计者选择系数平衡了对实际解决方案的需求,以便获得一种易于使用的方法。
通常,许多系数为零以简化该方法。
显式和隐式方法可以区分。
如果Bi = 0,则该方法称为“显式”,因为它可以直接计算yn + s。
如果Bi≠0,则该方法称为“隐式”,因为YN + s的值取决于f(TN + s,yn + s),并且必须为yn + s。
迭代方法(例如牛顿法)通常用于求解隐式公式。
数值分析(26)线性多步法
其局部截断误差为
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公式,其局部截断误差为
这就是四阶Adams显式公式。由于积分区间在插值
区间[ xn3 , xn ]外面,又称为四阶Adams外插公式。
由插值余项公式可得其局部截断误差为
Rn1
xn1 xn
F (4) ( x )
4!
3 j0
(x
xn j )dx
xn1 xn
y(5) ( x )
4!
3
(x
j0
xn j )dx
数值分析
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
h4
(
1
120
5!
yn1 (0 1 ) yn (1 1 0 1 ) yn' h
(1
数值计算方法 线性多步法 - 线性多步法
由四阶Adams隐示公式有
h yn1 yn 24 (9 fn1 19 fn 5 fn1 fn2 )
1
典
24 (0.9 yn1 22.1 yn 0.5 yn1 0.1 yn2 0.24n 0.12)
型
例
由上式可解出
题
1
yn1 24.9 (22.1 yn 0.5 yn1 0.1 yn2 0.24n 0.12)
式公式对预测值进行校正,求出 y( xn1)的近似值 yn1.
思 考 题
线性多步法的构造基于泰勒展开或数值积分, 从数值积分出发,如何推导出线性多步法? 如何估计误差?
的数值解.
典
y x y 0 x 1
y(0)
0
取h 0.1
型 例
根据题意, xn nh 0.1n, fn xn yn,
题
由四阶Adams显示公式有
h yn1 yn 24 (55 fn 59 fn1 37 fn2 9 fn3 )
1 24 (18.5 yn 5.9 yn1 3.7 yn2 0.9 yn3 0.24n 0.12)
一 般 公
Rn k
L[
y(
xn
);
h]
k 1
k
y( xnk ) i y( xni ) h i y( xni )
式
i0
i0
若Rn+k=O(hp+1),则称方法是 p阶的.
对Rn+k在xn处泰勒展开,由于
线
y( xn
ih)
y( xn ) ihy(xn )
(ih)2 2!
y(xn )
式
其中 c0 1 (0 1 k1 ),
c1 k [1 22 (k 1)k1] (0 1 k ),
1.5倍波动轨指标 -回复
1.5倍波动轨指标-回复什么是1.5倍波动轨指标(1.5X Bollinger Bands),以及如何使用它来辅助交易决策。
Bollinger Bands(布林带)是一种用于衡量价格波动的技术分析指标,其可帮助交易者识别价格的超买和超卖情况。
1.5倍波动轨指标是基于布林带的改进版本,其提供了更多的交易信号和更精确的入场点。
首先,让我们回顾一下Bollinger Bands的基本原理和计算方法。
Bollinger Bands由三条线组成:中轨(中线)、上轨(上线)和下轨(下线)。
中轨是价格的简单移动平均线,通常使用20日的移动平均线。
上轨和下轨是以中轨为基准,上下偏离一定的标准差。
标准差反映了价格的波动性,一般使用2倍的标准差来构建上下轨。
通过计算价格的标准差,Bollinger Bands能够根据价格的波动性来调整自身的宽度。
当价格波动较大时,布林带会扩展;当价格波动较小时,布林带会收缩。
这使得布林带可以通过分析价格波动的变动来判断市场的趋势性和非趋势性。
然而,传统的布林带只提供了两种交易信号:当价格从下轨向上突破中轨时,为买入信号;当价格从上轨向下突破中轨时,为卖出信号。
这两个信号可以用于确认趋势的转折点,但并不适合用于短期交易,因为它们可能会产生较高的虚假信号。
1.5倍波动轨指标是为了解决这一问题而提出的。
它通过将上轨和下轨的倍数扩大到1.5倍,提供了更多的交易信号。
当价格从下轨向上突破1.5倍波动轨时,为买入信号;当价格从上轨向下突破1.5倍波动轨时,为卖出信号。
这些信号比传统布林带更敏感,因此更适合用于短期交易。
使用1.5倍波动轨指标的交易策略可以分为以下几个步骤:第一步,计算中轨、上轨和下轨。
中轨是价格的20日移动平均线,上轨和下轨分别是中轨加上1.5倍的标准差和减去1.5倍的标准差。
第二步,观察价格与上轨和下轨之间的关系。
当价格从下轨向上突破1.5倍波动轨时,为买入信号;当价格从上轨向下突破1.5倍波动轨时,为卖出信号。
常微分方程数值解法2线性多步法
03
常见的线性多步法
欧拉方法
总结词
欧拉方法是常微分方程数值解法中最简单的一种方法,它基于线性近似,通过已知的函 数值来估计新的函数值。
详细描述
欧拉方法的基本思想是利用已知的函数值来估计下一个点的函数值。具体来说,假设我 们有一个函数 (y = f(x)),在已知 (x_0) 处的函数值 (y_0 = f(x_0)) 的情况下,欧拉方法 通过线性插值来估计 (x_1) 处的函数值 (y_1),即 (y_1 = y_0 + h f(x_0)),其中 (h) 是
05
线性多步法的优缺点
优点
稳定性好
线性多步法在处理常微分方程时具有较好的数值稳定性, 能够有效地抑制数值振荡,提高计算结果的精度。
01
易于实现
线性多步法的计算过程相对简单,易于 编程实现,适合于大规模数值计算。
02
03
精度可调
通过选择不同的步长和线性多步法公 式,可以灵活地调整计算结果的精度, 满足不同的数值模拟需求。
改进方法的收敛性
研究收敛性条件
深入研究线性多步法的收敛性条件,了解哪些情况下方法可能不收 敛,并寻找改进措施。
优化迭代算法
通过优化迭代算法,提高方法的收敛速度和精度,减少迭代次数, 提高计算效率。
引入预处理技术
利用预处理技术对线性系统进行预处理,改善系统的条件数,提高方 法的收敛性。
拓展应用领域
在工程问题中的应用
控制系统设计
在工程领域中,线性多步法可以用于控制系统设计,通过 建立控制系统的数学模型,设计控制算法和控制器,实现 系统的稳定性和性能优化。
线性多步法
常微分方程数值解的多步法。
从概念上讲,一种数值方法是从一个初始点开始的,然后在时间上向前迈出一小步,以找到下一个求解点。
以下过程绘制解决方案。
单步方法(例如欧拉方法)仅参考前一点及其导数来确定当前值。
诸如Runge-Kutta之类的方法采取了一些中间步骤(例如,半步骤)来获得高阶方法,但是在进行第二步之前会丢弃所有先前的信息。
多步方法试图通过保留和使用先前步骤的信息而不是丢弃信息来提高效率。
因此,多步法是指前几个点和导数值。
在多步法的情况下,使用先前点和导数值的线性组合。
常微分方程数值解的多步法。
从概念上讲,一种数值方法是从一个初始点开始的,然后在时间上向前迈出一小步,以找到下一个求解点。
以下过程绘制解决方案。
单步方法(例如欧拉方法)仅参考前一点及其导数来确定当前值。
诸如Runge-Kutta之类的方法采取了一些中间步骤(例如,半步骤)来获得高阶方法,但是在进行第二步之前会丢弃所有先前的信息。
多步方法试图通过保留和使用先前步骤的信息而不是丢弃信息来提高效率。
因此,多步法是指前几个点和导数值。
在多步法的情况下,使用先前点和导数值的线性组合。
具体定义常微分方程的数值方法近似地解决了形式初值的问题结果是离散时间ti处y(t)的近似值:其中h是时间步长,而i是整数。
多步方法使用上一个S步骤的信息来计算下一个值。
特别地,多步方法使用yi和f(ti,yi)来计算当前步骤所需的y值。
因此,多步方法是一种具有以下形式的方法:确定系数ai和bi的方法。
该方法的设计者选择系数来平衡对实际解决方案的需求,从而获得一种易于使用的方法。
通常,许多系数为零以简化方法。
可以区分显式和隐式方法。
如果bi = 0,则此方法称为“显式”,因为此公式可以直接计算yn + s。
如果bi≠0,则此方法称为“隐式”,因为yn + s的值取决于f(tn + s,yn + s),并且必须为yn + s。
迭代方法(例如牛顿法)通常用于求解隐式公式。
线性多步法
y ( k +1) (ξ ) ( x − xn )"( x − xn−k +1 )dx xn k! xn+1 1 = y ( k +1) (η) ( x − xn )"( x − xn−k +1 )dx xn k! =
∫
xn+1
∫
= β k h k +1 y ( k +1) (η )
定义1 设y(x)是初值问题(1).(2)的精确解, y ′ =f(x,y) y(a)=α
k
a≤x≤b (1) (2)
k
记 fi =f(xi ,yi ), yi≈wi ,过k个点 (xi ,fi )(i=n,n-1,…,n-k+1),作 f(x ,y )的插值多项式Pk-1(x):
多步法(11)在xi+1 (i=k,…,n-1)处的局部截断误差为
所给2步法是2阶方法。
5 3 (3) h yi + O(h4 ) 12
单步法:计算yn+1时,只用到前一步yn 的结果,提高方法的 精度,需要增加函数 f(x,y) 的计算次数。 多步法: 尽可能利用已得到的信息: y1 ,y2 ,…,yn ,提高 方法的精度。 对于初值问题 a≤x≤b y ′ =f(x,y) y(a)=α 设已求得近似解 y1 ,y2 ,…,yn ,现求yn+1 。
10.4 单步法的误差与稳定性
数值方法的误差
误差 局部截断误差(Local truncation error) 总体截断误差(Global truncation error)
定义2:若一种数值方法的局部截断误差Ti+1(h)= O(hp+1),则称 相应数值方法是 p 阶方法,其中p为正整数。 定义3:若一个p阶方法的局部截断误差为, Ti+1(h)=g(xi ,y(xi ))hp+1+ O(hp+2) 则第一个非零项:g(xi,y(xi))hp+1,称为该方法的局部截断误差主项。 Euler’s method是一阶方法。 梯形公式与改进Euler’s method均是2阶方法。
第六章 第四节 线性多步法
上式中右端的 y ( xi ) 用 y i 代替,就有
1 y n 1 y ( xn ) h[9 f ( x n1 , y n 1 ) 19 f ( xn , y n ) 24 5 f ( xn 1 , y ( x n 1 )) f ( xn 2 , y ( xn 2 )
.9
1 .0
三、小结
1、多步法的基本思想 2、线性多步法
Adams内插公式
1 h[9 f ( x n1 , y n 1 ) 19 f ( xn , y n ) 24 5 f ( xn 1 , y ( x n 1 )) f ( xn 2 , y ( xn 2 ) y n 1 y ( xn )
( x x n )( x x n 2 )( x x n 3 ) f ( x n 1 , y ( x n 1 )) ( x n 1 x n )( x n 1 x n 2 )( x n 1 x n 3 )
( x x n )( x x n 1 )( x x n 2 ) f ( x n 2 , y ( x n 2 )) ( x n 2 x n )( x n 2 x n 1 )( x n 2 x n 3 )
( x xn )( x xn1 )( x xn2 ) f ( xn3 , y( xn3 )) ( xn3 xn )( xn3 xn1 )( xn3 xn2 )
用上式代替(4.1)式右端积分中的 得到 y ( x n 的近似值 1)
f ( x, y( x)) ,也将
y n 1 y ( x n )
xn 1 xn
Hale Waihona Puke P3 ( x)dx令 x xn uh ,并注意到
数值分析线性多步法讲解
fn-
r
yn+1 = yn + h bri fn-i
i=0
其 中 :b ri
=
(-1)i
r j=i
j
i a j
§5 线性多步法 © 2009, Henan Polytechnic University
77
第五章 常微分方程数值解法
局部截断误差为:Rr
=
y(xn+1) - yn+1 = h
j fn- j =
i=0
-1
i
j
i
fn-i
r
r
j
a j j fn- j = a j
j=0
j=0 i=0
-1
i j
i
fn-i
=
r i=0
-1
i
r j =i
j i
a
j
fn-i
=
r i=0
bri
1
0 Rr (xn + th) h dt
Newton 插值余项
§5 线性多步法 © 2009, Henan Polytechnic University
55
第五章 常微分方程数值解法
xn+1
f
(x,
y(x)) dx
x=xn +th
=
xn
1
0 Nr (xn + th) h dt +
1
0 Rr (xn + th) h dt
构造 r 阶牛顿后插多项式, 有
Nr (xn
线性多步法
y ( x i 1 ) y ( x i ) x
xi 1 i
f ( x, y ( x ))dx
为了近似计算式中的积分,以xi−k , xi−k+1, , xi−1, xi 为插值节点,作函数f (x, y (x)) 的k 次插值多项 式pk (x),从而有 f (x, y (x) ) = pk (x) + R (x), 其中,R (x)为插值余项
i 2, , N 1
将 f (x, y) = 2x + y, h = 0.1, xi = 0.1i 代入,得
1 yi 1 (0.9 yi 1 25.9 yi 0.5 yi 1 0.2 yi 2 0.48i 0.24) 24
本例可以解出yi+1 使其成为显式
几个常用的Adams外插公式如下 ① 单步法(k=0)
y i 1 y i hy i
1 2 ei 1 h y( i ) 2
② 二步法(k=1)
i 0,1,, N 1
h yi 1 yi (3 y y ) i 0,1, , N 1 i i 1 2
§5 线性多步法 /*Linear multistep method*/
一、Adams外插法 二、Adams内插法 三、Taylor级数法
求解初值问题的数值方法都是“步进式”的,即 求 解过程从初值y0开始,顺着节点的排列次序,一 步一步地向前推进.所以,在计算yi+1 时,前面 的i + 1 个值y0, y1, , y i 都是已知的.如果在计算 yi+1 时能充分利用这些已有的信息,而不是像单 步法中那样,只用其前一步的值yi,则可望构造 出精度高,但计算量小的求解公式.线性多步法 k k 就是基于这一思想发展起来的,其计算公式可表 yi 1 r yi r h r y 示为 i r
线性多步法
(6)计算 f3 f ( x3 , y3 ) x x3 h 4 112 p y0 (2 f3 f 2 2 f1 ) m p (c0 p0 ) 3 121 1 3 c (9 y3 y1 ) h[ f ( x, m) 2 f 3 f 2 ] 8 8 9 y c (c p ) 输出(x, y ) 121 (7)若n N,置n 1 n, x j 1 x j , y j 1 y j , f j 1 f j ( j 0,1, 2), x x3 , y y3 , p p0 , c c0 , 转6; 否则停机。
算法 ba (1)输入 a, b, f ( x, y ), N , y0 (2)置h , x0 a, n 1 N (3)计算 f n 1 f ( xn 1 , yn 1 ) K1 hf n 1 h K1 K 2 hf ( xn 1 , yn 1 ) 2 2
(i 1, 2, , N ) (i 1, 2, , N )
若对 y 和 f 采用向量的记号 y ' f ( x, y); y( x0 ) y 0 ;
f ( f1 , f 2 , f N ) ;
T
或表达为 h yi ,n 1 yin ( K i1 2 K i 2 2 K i 3 K i 4 ) 6 (i 1, 2, , N ), 其中 K i1 fi ( xn , y1n , y2n , , yNn ); h h h h K i 2 fi ( xn , y1n K11 , y2 n K 21 , , y Nn K N 1 ); 2 2 2 2 h h h h K i 3 fi ( xn , y1n K12 , y2 n K 22 , , yNn K N 2 ); 2 2 2 2 K i 4 fi ( xn h, y1n hK13 , y2 n hK 23 , , y Nn hK N 3 );
线性多步法
1.待求解问题描述
⎧ y ' = f (t , y ) ⎨ ⎩ y (t0 ) = y0
(1)
2、线性多步法表达式建立
Lk ( y (t ), h) = ∑ [α j y (t + jh) − hβ j y ' (t + jh)]
j =0
k
(2)
将
y (t + jh )
和
y ' ( t + jh )
公式性质: 1. 公式左边j=k项为我们需要求取得项,j<k的项为已 得项; 2. 公式右边可以使用f(t,y)直接带入求取; 3. 当右边 β k ≠ 0 时,公式所得到的算法为隐式算法;否
则为显式算法。 4. (4) 式中,我们可以要求α k =1,因为如果α <>1,只需 公式两边同时除以 α k 即可使得 =1 k
⎧ ⎪c = α + α + α + ... + α = 0 k 0 1 2 ⎪0 ⎪c1 = α1 + 2α2 + ... + kαk − (β0 + β1 + β2 + ... + βk ) = 0 ⎪ ⎨... ⎪ 1 1 ⎪c p = (α1 + 2 p α2 + ... + k pαk ) − (β1 + 2 p−1 β2 + ... + k p−1βk ) = 0, p ≥ 2 p! ( p −1)! ⎪ ⎪ p = 2,3,... ⎩
⎪c = α + 2 − (β + β + β ) = 0 0 2 2 ⎪1 1 ⎪ 1 ⎨c2 α=0α1 + 4) − (β1 + 2β2 ) = 0 1、 = ( 2 ⎪ h yn+2 = yn+1 + [5fn+2 +8fn+1 − fn ] ⎪ 1 12 ⎪c3 = (α1 + 8) − 12(β1 + 4β2 ) = 0 6 ⎩
CH常微方程数值解解析PPT课件
yn1 y0
yn
hf
(xn ,
yn )
与
注意: 这里yn , zn 分别是以 为 y0, z0 初值得到的精确值,毫无舍入误
zz0n1
zn
hf
(xn ,
z差 值n ), 的因 稳此 定这 性里 ,稳 即定 研性究定初义值式误对差初在
计算过程中的传递问题。
计算所得之解 yn , zn 满足估计式
| yn zn | c | y0 z0 |
式可知, Rn,这O(说h2)明局部截断误差比整体截断 误差高一阶。
我们称欧拉方法为一阶格式。
1.2.3 稳定性研究
前已指出欧拉方法的稳定性问题是决定欧拉法在利 用计算机能否得到精确解的关键问题,只有稳定的算法 才可能是有用的算法。
定义1.1如果存在正常数 c 及 h0 ,使对任意初
始值 y0 , z0 ,由
局部截断误差 en1 y(xn1) y*n1=Rn
这里
y*n1 y(xn) hf (xn, y(xn))
Th
整体截断误差 n1 y(xn1) yn1 即
xn+1
y(xn+1) yn1 y(xn) f (x, y(x))dx yn hf (xn, yn) (1.6)
xn
Th
定理 1.1 假定 y y(x) C2x , X ,则欧拉方法 0
主要内容
第1章 常微分方程初值问题数值解法 第2章 椭圆型方程的有限差分方法 第3章 抛物型方程的有限差分方法 第4章 双曲型方程的有限差分方法
第5章 非线性双曲型守恒律方程的差分方法 第6章 有限元方法简介
第1章 常微分方程初值问题的 数值解法
1.1 引言
1.2 欧拉法(Euler方法)
线性多步法
显式方法
显式方法定义 显式方法特点 显式方法实现步骤 显式方法优缺点
隐式方法
定义:需要解非线性方程组的数值方法 优点:精度高,稳定性好 缺点:计算量大,需要求解非线性方程组 应用:适用于非线性较强的系统
线性多步法的稳定性条件
稳定性定义:线性多步法在数值求解过程中保持解的稳定性和精度
添加标题
添加标题
添加标题
添加标题
精度:线性多步法具有较高的计 算精度,能够得到较为精确的数 值结果。
易于实现:线性多步法易于实现, 可以通过简单的编程语言实现算 法。
线性多步法的基本结构
线性多步法的定义 线性多步法的特点 线性多步法的分类 线性多步法的应用场景
02
线性多步法的分类
基于位置的分类
06
线性多步法的未来发展
理论研究
线性多步法的理论分析 线性多步法的收敛性和稳定性 线性多步法的数值实现和算法优化 线性多步法在其他领域的应用前景
应用研究
线性多步法在科学计算中的应用
线性多步法在偏微分方程求解中 的应用
添加标题
添加标题
添加标题
添加标题
线性多步法在控制系统中的应用
线性多步法在优化问题中的应用
应用:适用于解决初值问题,被广泛应用于科学计算和工程领域
与隐式方法的比较:隐式方法需要求解非线性方程组,而线性多步法可以直接使用线性方程组进 行计算
线性多步法的特点
稳定性:线性多步法具有较好的 数值稳定性和收敛性,能够避免 数值误差的积累。
适用范围广:线性多步法适用于 解决各种初值问题和边值问题, 具有较广的适用范围。
零阶方法:不使用历史信息
一阶方法:使用一个历史信息
《线性多步法》课件
线性多步法PPT课件
本PPT课件全面介绍线性多步法,包括其原理、常见算法、优缺点,以及在科 学计算中的应用。通过案例研究展示其解决实际问题的能力,并对其进行总 结和展望。
线性多步法的简介
线性多步法是一种常用的数值解常微分方程的方法之一,通过一系列历史解 来逼近未知的解。它的优点是高效和精确。
线性多步法的原理
一种隐式的线性多步法,通过历史解的插 值和导数来逼近未知的解。
Adams-Moulton方法
一种隐式的线性多步法,使用历史解和未 知解的插值来逼近未知的解。
Crank-Nicolson方法
一种半隐式的线性多步法,使用历史解和 未知解的加权平均值来逼近未知的解。
线性多步法的优缺点
1 优点
2
高效:使用历史解逼近未知解,节省计 算量。
线性多步法基于差分近似和插值,将未知的解表示为已知的历史解的线性组合。它使用多个历史 解来逼近未知的解,从而提高精度。
常见的线性多步法算法
Adams-Bashforth方法
一种显式的线性多步法,通过利用历史解 的插值来逼近未知的解。
Backward D ifferentiation Formula (BD F)
精确:多个历史解的线性组合提高数值 解的精度。
3 缺点
4
初始条件敏感:对初始条件要求较高, 初始条件的误差会传播到后续步骤。
稳定性限制:某些算法在稳定性方面具 有限制,对方程的性质和步长有一定要 求。
线性多步法在科学计算中的应 用
线性多步法广泛应用于科学计算领域,特别是求解常微分方程和偏微分方程 的数值解。它在物理学、工程学、生物学等领域有着重要的应用。
案例研究:使用线性多步法解决实际 问题
线性多步的推广及应用
线性多步的推广及应用线性多步法是求解常微分方程初值问题的一种数值方法,通过利用多个时间点上的信息,可以提高数值解的精度和稳定性。
线性多步法可以看作是显式欧拉法和隐式欧拉法的推广和组合,常用的线性多步法有Adams-Bashforth法和Adams-Moulton法。
Adams-Bashforth法是一种显式的线性多步法,它利用k个历史点上的信息来逼近下一个时间点上的解。
具体来说,Adams-Bashforth法的递推公式如下:\[y_{n+1} = y_n + h\sum_{i=0}^{k-1}b_i f_{n-i}\]其中,\(h\)是步长,\(y_n\)表示第n个时间点上的数值解,\(f_n\)表示在\(y_n\)上的导数,\(b_i\)是根据k个历史点上的解求得的权重系数。
Adams-Bashforth 法的精度取决于选择的k值,常用的是2阶和3阶的方法。
例如,2阶方法可以写成:\[y_{n+1} = y_n + \frac{h}{2}(3f_n - f_{n-1})\]Adams-Bashforth法的优点是计算简单,但它的稳定性较差,对于某些刚性问题可能会导致数值解发散。
Adams-Moulton法是一种隐式的线性多步法,它在Adams-Bashforth法的基础上进一步利用了下一个时间点上的导数信息。
递推公式如下:\[y_{n+1} = y_n + h\sum_{i=0}^k b_i f_{n+1-i}\]与Adams-Bashforth法类似,Adams-Moulton法的精度也取决于选择的k值。
例如,2阶方法可以写成:\[y_{n+1} = y_n + \frac{h}{2}(f_n + f_{n+1})\]Adams-Moulton法相比Adams-Bashforth法更为稳定,但计算复杂度较高,需要通过求解非线性方程来获得每个时间点上的解。
线性多步法在许多科学工程问题中具有广泛的应用。
线性多步法2
多一个初值, 可能影响精度
改进欧拉法 /* modified Euler’s method */
§1 Euler’s Method
Step 1: 先用显式欧拉公式作预测,算出 yi+1 = yi + h f ( xi , yi )
Step 2: 再将 yi+1 代入隐式梯形公式的右边作校正,得到
y
K1 = f (xi , yi )
y(xi )
0 1 1
0 2 1
c1 + c2 = 1 o
xi + 1h
xi
xi + h2
x
xi+1
y2 = yi + 2h[c1 f ( xi , yi ) + c2 f ( xi + 1h, y( xi + 1hi )]
y2 = yi + 2h[c1 K1 + c2 f ( xi + 1h, y1 )]
考察改进的欧拉法,可以将其改写为:
yi
+1
K1
= =
1 yi + h[ 2 f (xi , yi
K1 )
+
1 2
K2]
K2 =
f ( xi + h, yi + hK 1 )
斜率 一定取K1 K2 的平均值吗?
步长一定是一个h 吗?
y1 = yi + 1hf ( xi , yi ) = yi + 1hK1
m i=1
yn+1 = yn + h ci f ( xn + i h, y( xn + i h))
线性多步法
线性多步法多步法用于普通微分方程的数值解。
从概念上讲,一个数值方法从—个初始点开始,然后在时间上向前迈出一小步,找到下一个解点。
该过程以后的步骤来绘制解决方案。
单步方法(如欧拉方法)只指—个前一点及其导数来确定当前值。
诸如Runge-Kutta的方法采取—些中间步骤(例如,半步)来获得更高阶的方法,但是在进行第二步之前丢弃所有先前的信息。
多步法尝试通过保留和使用先前步骤的信息而不是丢弃它来提高效率。
因此,多步法是指前几个点和导数值。
在多步法的情况下,使用先前点和导数值的线性组合。
通常使用三类多步法:Adams-Bashforth方法,Adams-Moulton 方法和后向微分方程(BDFXAdams・Bashforth 方法Adams-Bashforth方法是很明确的方法。
系数是as-l = -l ,其他均为0 ,而bj被选择为使得方法具有顺序s (这独特地确定方法XAdams-Moulton 方法Adams-Moulton方法类似于Adams-Bashforth方法,因为它们还具有as・l=・l具他均为0o再次选择b系数以获得可能的最高级。
然而Adams-Moulton方法是隐式方法。
通过删除bs = 0的限制,Adams-Moulton 方法可以达到s + 1 ,而Adams-Bashforth 方法只有s o6向后分化公式(BDF)BDF方法是使用bs-l=……=bO=O的隐式方法,并选择其他系数使得该方法达到最大。
这些方法特别用于解决刚度的微分方程。
7相关知识第一和第二达尔斯基:这两个结果由达尔斯基证明,是线性多步法收敛顺序和A稳定性的重要界限。
达尔奎斯特(Dahlquist)( 1956年)证明了第一个达尔斯奎斯(Dahlquist)的障碍,第二个在达尔奎斯特(1963 )证明。
第一达尔斯基如果q是奇数,则q稳定和线性q步多步法不能达到大于q + 1的收敛阶数,如果q是偶数,则不能达到q + 2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Newton后插公式(一般当x靠近xn时用) 将节点顺序倒置, 则 N n ( x ) f [ xn ] f [ xn , xn 1 ]( x xn ) f [ xn , xn 11 , , x0 ]( x xn )( x xn 1 )
n
( x x1 )
t k 设x xn th, 则N n ( x ) N n ( xn +th ) (-1) f ( xn ) k 0 k f ( n 1) ( ) Rn ( x ) t (t 1) (t n )h n 1 , ( x0 , xn ) (n 1)!
k (n)un =h j f n j (1.41)
j 0
k
其中
f n j f (tn j , un j ),
j 和 j是常数,且 k 0,
0和 0不同时为0
用(1.41)计算unk需用到前 k 个节点的值 un , un1, , unk 1,
n
, n)
Newton前插公式(一般当x靠近x0时用) t k 设x =x0 +th, 则N n ( x ) N n ( x0 +th ) f ( x0 ) k 0 k f ( n 1) ( ) Rn ( x ) t (t 1) (t n )h n 1 , ( x0 , xn ) (n 1)! t t (t 1)(t 2)...(t k 1) , k k! t 0 1
k
二、线性多步法
单步法:计算节点tn = t0 + nh的近似值 un 仅用到前一节点的 值un- 1 ,故从初值 u0可算出以后各节点的值。
欧拉法和梯形法的回顾
求未知函数在 t tn1 的近似值 un 1 ,基本思想:对于积分 表达式 t
u(tn1 ) u(tn )
n 1
的曲线L2 (t, u(t ))为
L2 (t , u(t )) (t tn 1 )(t tn ) (t tn 2 )(t tn ) f ( t , u ( t )) f (tn 1 , u(tn 1 )) n 2 n 2 2 2 2h h (t tn 2 )(t tn 1 ) f (tn , u(tn )) 2 2h
将被积函数 f (t, u), t tn , tn1 用水平直线 f (t, u) f (tn , u(tn )) (tn1, f (tn1, u(tn1 ))) 两点的直线 或连接 (tn , f (tn , u(tn ))) ,
f (t , u ) t tn 1 t tn f (tn , u(tn )) f (tn 1, u(tn 1 )) h h
的解u(t )在t0 , t1,..., tk - 1处的近似值u0 , u1,..., uk - 1 ,或者说给出表头
t u
t0 t1 t2
u0 u1 u2
tk 1
uk 1
(一) 数值积分法
将方程 u f (t, u) 写成积分形式,比如在 [tn , tn h]上积 t 分得 u(tn1 ) u(tn ) f (t, u(t ))dt (1.42) t
(tn2 , un2 ),(tn1 , un1 ),(tn , un )
计算un+1,与欧拉格式仅由前面一点(tn , un )计算un +1的这种单 步法不同,格式 (1.51) 称为多步法。 ? 为提高精度,构造线性多步法,一般形式为
u
j 0
k
j n j
k (n)un k k 1 (n)un k 1
1.5 线性多步法
机动
目录
上页
下页
返回
结束
1.5 线性多步法 一、预备知识
Newton插值多项式: N n ( x ) f [ x0 ] f [ x0 , x1 ]( x x0 ) f [ x0 , x1 , , xn ]( x x0 )( x x1 ) ( x xn 1 ) 当节点等距分布时 xi =x0 ih (i 0,1,
tn
f (t, u(t ))dt
代替。
然而为了近似 tn , tn1 上的曲线 f (t, u(t )) 也可用多点插值 曲线,如我们利用 Lagrange 插值可得经过
(tn , u(tn )),(tn1, f (tn1, u(tn1 ))),(tn2 , f (tn2 , u(tn2 )))
像欧拉格式一样,我们可得近似求解格式如下:
16 23 5 un 1 un h f (tn 2 , un 2 ) f (tn 1, un 1 ) f (tn , un ) 12 12 12
上面的格式与欧拉格式un+1 = un + hf (tn , un )不同之处在于增加了 包括f (tn- 1 , un- 1 ), f (tn- 2 , un- 2 )的两项,即由
tn 1
用它近似[ tn , tn+1] 中的 f (t, u(t )),则得到积分近似值
u(tn1 ) u(tn )
tn
L2 (t, u(t ))dt 16 23 5 u(tn ) h f (tn 2 , u(tn 2 )) f (tn 1, u(tn 1 )) f (tn , u(tn )) 12 12 12
故称为多步法或 k 步法。又因(1.41)关于 fn j 是线性的, 故称为线性多步法。 注意:需附加初值 u1, u2 , , uk 1; k 0为显式;k 0为隐式 现在,设已给出常微分方程初值问题
du f (t , u ) dt u |t t u0 0