线性多步法2
线性多步法
多步法应用于常微分方程的数值解。
从概念上讲,数值方法从初始点开始,然后在时间上向前迈出一小步,以找到下一个求解点。
该过程的下一步是绘制解决方案。
一步法(例如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。
迭代方法(例如牛顿法)通常用于求解隐式公式。
4线性多步方法
三、k步隐式线性多步法
j 0
k
j
yn j h j f n j
j 0
k
( )
k
2 2 , 其中 j j 均为常数,且 k 0, k 0,0 0 0
等价形式: yn k
j 0
k 1
j
yn j h j f n j
2 xn 2 xn1 h yn [55( yn ) 59( yn1 ) 24 yn yn1
xi
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
R-K方法
Adams预-校法
精确解
1 1.095446 1.183217 1.264912 1.3416413571 1.4142138334 1.4832398242 1.5491933804 1.6124515364 1.6733199993
5 f ( xn1 , yn1 ) f ( xn 2 , yn 2 )]
(隐式)
2x dy 例3:用Adams预报-校正公式 y y x [0,1] 求解下列初值问题h 0.1 。 dx y ( 0) 1 解: Adams预报-校正公式:
y
( 0) n 1
2 2
x xn m f ( x , y ) L3 ( x ) ( ) f ( x n k , yn k ) k 1 m 1 xn k xn m
k 1
yn1 yn
2
mk
f ( x n k , yn k )
xn1 xn
x xn m dx m 1 xn k xn m
j 0
数值分析(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
常微分方程数值解法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
精度可调
通过选择不同的步长和线性多步法公 式,可以灵活地调整计算结果的精度, 满足不同的数值模拟需求。
改进方法的收敛性
研究收敛性条件
深入研究线性多步法的收敛性条件,了解哪些情况下方法可能不收 敛,并寻找改进措施。
优化迭代算法
通过优化迭代算法,提高方法的收敛速度和精度,减少迭代次数, 提高计算效率。
引入预处理技术
利用预处理技术对线性系统进行预处理,改善系统的条件数,提高方 法的收敛性。
拓展应用领域
在工程问题中的应用
控制系统设计
在工程领域中,线性多步法可以用于控制系统设计,通过 建立控制系统的数学模型,设计控制算法和控制器,实现 系统的稳定性和性能优化。
8.4-8.5线性多步法及收敛性与稳定性分析
f x ( x0 , y0 )
]
在平移一下,即化成检验方程形式.
y' y y ( x0 ) y0
--------------(2)
y y0e
当 Re 0时, 当 Re 0时,
其关系式为
( x x0 )
( y0 0)
y ( x) | (as x ); y ( x) | 0 (as x ), 此时, 试验方程是稳定的.
(5) Simpson 2步4阶隐式公式
h yn 1 y n 1 ( f n 1 4 f n 2 f n 1 ) 3
1 5 (5) Tn 1 h y ( xn ) O (h 6 ) 90
多步方法的特点: (1)、 因初始条件只有一个,多步方法的启动要借助 高阶的单步方法来开始. (2)、多步方法比较简单,只要在这几个点的函数 值的线性组合, 而且每步中所用函数值, 有些下一 步还可使用。
要使 |1 h | 1,
即 |1 h | 1 给出了绝对稳定区域 {z | z 1| 1|},
这是复平面上以 (1,0)为圆心的单位圆, 绝对稳定区间为(-2,0).
2. 隐式Euler公式
yn1 yn hf ( xn1, yn1 ) yn hyn1
2. 一个方法的整体截断误差比局部截断误差低一阶.
若某些引入的误差, 在以后的传播中被压缩, 衰减或增长 可以控制, 就认为数值方法 (1) 是数值稳定的, 反之, 若在传 播中被放大而无法控制, 就认为是数值不稳定.其中, 若误 差的传播可以被压缩, 衰减, 则称绝对稳定.
y ' =f ( x, y ), x D 定义8.5.2 对初值问题 对于固定的 y ( x0 ) y 0 , 步长 h,在数值计算中, 节点值 yi 产生一扰动 i (包括初值y 0 ), 而仅由这一个扰动引起的以后各节点值 y j ( j i ) 的变化 j 都不超过 i , 即 | j || i |, 就称这个数值方法是稳定的.
线性多步法
常微分方程数值解的多步法。
从概念上讲,一种数值方法是从一个初始点开始的,然后在时间上向前迈出一小步,以找到下一个求解点。
以下过程绘制解决方案。
单步方法(例如欧拉方法)仅参考前一点及其导数来确定当前值。
诸如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。
迭代方法(例如牛顿法)通常用于求解隐式公式。
5.3-收敛性与稳定性
第五章 常微分方程的差分方法5.3 线性多步法一、教学目标及基本要求通过对本节课的学习,使学生掌握常微分方程、常微分方程方程组的线性多步法。
二、教学内容及学时分配本节课主要介绍常微分方程的数值解法。
具体内容如下:讲授内容:欧拉公式、改进的欧拉公式。
三、教学重点难点1.教学重点:开型求解公式,闭型求解公式。
2. 教学难点:收敛性与稳定性。
四、教学中应注意的问题多媒体课堂教学为主。
适当提问,加深学生对概念的理解五、正文 线性多步法及其收敛性与稳定性、方程组与高阶方程1 引言 收敛性问题微分方程数值解法的基本思想是:通过某种离散化手段,将微分方程转化为差分方程(代数方程)来求解。
这种转化是否合理,还要看差分问题的解n y ,当0h →时是否会收敛到微分方程的准确解(),n y x 需要注意的是,如果只考虑0h →,那么节点0n x x nh =+对固定的n 将趋向于0x ,这时讨论收敛性是没有意义的,因此,当0h →时,同时n →∞时才合理。
定义:若一种数值方法对于任意固定的0n x x nh =+,当0h →(同时n →∞)时,有(),n n y y x →则称该方法是收敛的。
考察欧拉公式),(1n n n n y x hf y y +=+ (1) 设1+n y 为在)(n n x y y =条件下按欧拉公式计算的结果,))(,()(1n n n n x y x hf x y y +=+ (2)11)(++-n n y x y 即为局部截断误差。
)(2)(''2111ξy h y x y T n n n =-=+++,存在常数C 使211)(Ch y x y n n <-++ (3) 考虑整体截断误差111)(+++-=n n n y x y e (无)(n n x y y =条件),由于111111)()(++++++-+-<-n n n n n n y y y x y y x y (4)(1)-(2)得:由常微分方程李普希兹条件得:))(()1())(()(11n n n n n n n n y x y hL y x y hL y x y y y -+=-+-≤-++ (5)由(3),(4),(5)式得 递推得]1)1[()1(0-+++≤n n n hL L Ch e hL e 又hL e hL ≤+1,设T nh x x n ≤=-0(T 为定数),则 故h e L C e e e TL TL n )1(0-+≤若初值准确,则0→h 时0→n e ,欧拉公式是收敛的。
比例延迟微分方程线性多步法的散逸性
O2 18 4 .
D i s p tv t f Li a u t s e e ho o s i a i i y o ne r M l i t p M t ds f r De a if r nta ua i ns w ih a Pr p r i na e a l y D f e e i lEq to t o o to lD l y
QiRu HeH a l i ni n
( c o l fS in e S h o ce c ,Na a nv r iy o n i e rn ,W u a 4 0 3 ) o vl U i e s t fE g n e i g hn 3 0 3
Ab t a t Th s p p ri o c r e t u e ia isp t i f h ea f r n il q a i n t r p ri n l e s rc i a e sc n e n d wih n m rc l s i a i t o ed l ydi e e t u t swi 3 p o o t a — d v y t f ae o h o d
Ke o d d l y d fe e t l q a i n t r p r in l ea ,l e rmu s e t o s isp t i yW r s e a i r n i u t swi a p o o to a l y i a hit p me h d ,d s i a i t f a e o h d n v y
f ()= ( , ( t) £ O £ =g z() x q ) , =
…
1( 一 。 o z )
其中 q 是一个正 常数 , O <1g满 足以下条件 : 且 <q ,
收 稿 日期 :0 0年 7月 2 21 2日 , 回 日期 :0 0年 8月 2 修 21 7日 基 金 项 目 : 家 自然 科 学 基 金 项 目( 号 :0 7 1 6 ; 军 工 程 大 学 自然 科 学 基 金 青 年 项 目( 号 : D 国 编 69 4 3 )海 编 HG QNJ10 3 J00) 资助 。
线性多步法
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
【国家自然科学基金】_非线性积分微分方程_基金支持热词逐年推荐_【万方软件创新助手】_20140801
推荐指数 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2010年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
有限挠度 有限差分格式 最优误差估计 数字控制 数值稳定性 散逸性 插值后处理算子 抗剪键 微小流量 微压 微分求积法 微分-代数系统 延时 广义kpp方程 对偶函数 实时子结构试验 子系统 奇异函数 大挠度 固液两相流 后屈曲 受迫振动 双稳态 参数共振 分数阶比较定理 几何非线性 低浓度颗粒流 不动点定理 timoshenko梁 t-s模糊系统 runge-kutta方法 riemann-liouville导数 ou-iang型不等式 n个无关变元 l)一代数稳定 jacobi椭圆函数展开 carey元 caputo导数 (k
科研热词 黏弹性 非线性系统 稳定性 渐近稳定性 收敛性 同伦方法 单支方法 中立型延迟积分微分方程 maxwell速度分布函数 boltzmann方程 齿轮动力学 预测控制 面齿轮传动 非线性边界条件 非线性积分不等式 非线性控制 非线性抛物积分微分方程 非线性抛物型积分微分方程 非线性弯曲波 非线性奇异振子 非线性双曲型方程 非线性中立型延迟积分微分方程 非线性 非定常流 非协调三角形元 附加弯矩 钢柱脚 逆系统 迭代学习控制 边值问题 轴向运动梁 轴向变速运动梁 跳转 超逼近和超收敛 谐波平衡法 角频率 脉宽调制整流器 结构试验技术 线性θ -方法 精度 等效力控制方法 符号运算软件 稳态误差 稳态幅频响应 积分变换 渐进法 混沌 混合单调算子 测量方法 沃尔泰拉延迟积分微分方程 比例-积分控制器 正交多项式
常微分方程常用数值解法.
第一章绪论1.1 引言常微分方程是现代数学的一个重要分支,是人们解决各种实际问题的有效工具。
微分方程的理论和方法从17世纪末开始发展起来,很快成了研究自然现象的强有力工具,在17到18世纪,在力学、天文、科学技术、物理中,就已借助微分方程取得了巨大的成就。
1864年Leverrer根据这个方程预见了海王星的存在,并确定出海王星在天空中的位置。
现在,常微分方程在许多方面获得了日新月异的应用。
这些应用也为常微分方程的进一步发展提供了新的问题,促使人们对微分方程进行更深入的研究,以便适应科学技术飞速发展的需要。
研究常微分方程常用数值解是数学工作者的一项基本的且重要的工作。
在国内外众多数学家的不懈努力,使此学科基本上形成了一套完美的体系。
微分方程的首要问题是如何求一个给定方程的通解或特解。
到目前为止,人们已经对许多微分方程得出了求解的一般方法。
由于在生产实际和科学研究中所遇到的微分方程问题比较复杂,使这些问题的解即使能求出解析表达式,也往往因计算量太大而难于求出,而对于一些典型的微分方程则可以运用基本方法求出其解析解,并可以根据初值问题的条件把其中的任意常数确定下来。
由于求通解存在许多困难,人们就开始研究带某种定解条件的特解。
首先是Cauchy对微分方程初始解的存在惟一性进行了研究。
目前解的存在惟一性、延拓性、大范围的存在性以及解对初始解和参数的延续性和可微性等理论问题都已发展成熟。
与此同时,人们开始采取各种近似方法来求微分方程的特解,例如求微分方程数值解的Euler折线法、Runge-Kutta法等,可以求得若干个点上微分方程的近似解。
最后,由于当代高科技的发展为数学的广泛应用和深入研究提供了更好的手段。
用计算机结合Matlab软件求方程的精确解、近似解,对解的性态进行图示和定性、稳定性研究都十分方便有效。
本章先介绍常微分的一般概念、导出微分方程的一些典型例子及求解微分方程的思路分析。
从而得到常微分方程的常用数值解法。
亚当姆斯法
亚当姆斯法:
线性多步法:在利用多步法求yn+1时,必须已知除yn外前几步的值,例如:yn,yn-1,……,yn-k+1,称为K步法。
多步法不能自己起步,在使用其他方法求出y1,y2,yk-1后才能用其求解,常用的亚当姆斯方法的形式为:
通常用迭代方法求解隐式方程,隐式增加了计算量,但稳定域大于显示公式,而且对于同阶次的亚当姆斯方法,隐式公式的精度往往要大于显示公式,所以往往采用折中的办法,即; 先用显式公式求出yn+1的预估值,再带入隐式公式求出yn+1的值,因此成为预估校正法,下面是四阶预估校正公式:。
线性多步法
(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 ⎩
ADAMS方法和一般线性多步法
x
l i=
1
f ( xk i ,
1
xk +1 )( x
y( xk
xk
l1
i ))[
j= 1 ji
)L( x
x xk i
xk
xk j xk j
l +1 )
]
l1
则 y( xk+1) yk+1 = y( xk +1 ) { y( xk ) + h
l,i f ( xk i , y( xk i ))}
i= 1
(5.2)
i=0
Created with SmartPrinter trail version
由插值多项式余项: Rl 1(x) = f ( x, y(x)) p( x)
= f ( x, y( x))
l1
f ( xk
i=0
i , y( xk
l1 x
i ))[
j =0
xk
l 几种低阶显式Adams方法的公式及主局部截断误差的系数
l1
当 l =1 时,p( x) = fk ,
yk +1 = yk + h f l,i k i (5.2)
( ) yk+1 = yk +
x k +1 xk
fkdx,
或者
yk +1
=
yk
+h
i=0
1,0 fk ,
1,0 = 1.
l =1
即
yk+1 = yk + hfk ,
(5.3)
ji
x xk j = x xk + xk xk j = th + jh xk i xk j = xk i xk + xk xk j = ih+ jh
科学计算2
注 对形式简单的方程,可以由差分方程解的表达式 取极限导出收敛性。 例如对初值问题:
y′ = ay用Euler法得近似解表达式
y n = y n −1 + hay n −1 = (1 + ha ) y n −1 = (1 + ha ) n
对 x = nh, 当 h → 0 时有
h2 h p ( p) ′ y ( xn +1 ) = y n + hy ′ + y n′ + ⋯ + y n + O ( h p +1 ) n 2 p! r ∑ α i = 1 i=0 ⇒≥ r r ( −i ) k α + k ( −i ) k −1 β = 1 ∑ i i ∑ i = −1 i =1
i=0 i = −1
r
r
其中 f n −i = f ( xn −i , yn −i ), α i , β i 为待定系数.
若 β−1 = 0 为显式公式 β−1 ≠ 0 为隐式公式 , .
3.1 线性多步公式的导出 利用Taylor展开
h2 hp ( ′ ′ yn−i = y(xn − ih) = yn + (−i)hyn + (−i)2 h2 yn +⋯+ (−i) p ynp) + O(hp+1) 2 p! hp−1 ( p) ′ ′ fn−i = y′(xn−i ) = yn + (−i)hyn +⋯+ yn + O(hp ) ( p −1)! hp−1 ( p) ′ ′ fn+1 = f (xn+1, yn+1) ≈ y′(xn+1) = yn + hyn +⋯+ yn + O(hp ) ( p −1)!
数值分析
16
表96 阿当姆斯隐式公式 k 1 p 2 公式 h yn1 yn ( f n1 f n ) 2 h yn2 yn1 (5 f n2 8 f n1 f n ) 12 h yn3 yn2 (9 f n3 19 f n2 5 f n1 f n ) 24 h yn4 yn3 (251 f n4 646 f n3 264 f n2 720 106 f n1 19 f n ) c p1 1 12 1 24 19 720 3 160
cp
1 [ 1 2 q 1 2 k q 1 k ], ( q 1)! q 2,3, .
(5.4)
若在公式(5.1)中选择系数 i及 i ,使它满足
c0 c1 c p 0, c p 1 0.
由定义可知,此时所构造的多步法是 p 阶的.
i 0
(5.7)
的 k 步法,称为阿当姆斯(Adams)方法.
k 0为显式方法, k 0为隐式方法,通常称为阿
当姆斯显式与隐式公式,也称Adams-Bashforth公式与Adams -Monlton公式. 这类公式可直接由对方程 y f ( x, y )两端从 xn k 1 到
从四阶阿当姆斯显式公式得到
yn4 yn3
1 (18.5 yn3 5.9 yn2 3.7 yn1 0.9 yn 0.24n 3.24). 24
从四阶阿当姆斯隐式公式得到
18
h yn3 yn2 (9 f n3 19 f n2 5 f n1 f n ) 24 1 (0.9 yn3 22.1yn2 0.5 yn1 0.1yn 0.24n 3). 24
Tn 3 3 4 ( 4) h y ( xn ) O(h 5 ). 8
ADAMS方法和一般线性多步法
Created with SmartPrinter trail version
2. l 步隐式Adams(亚当姆斯)方法(内插法)
公式: 用过点 ( xk i , fk i ),i = 1,0,L,l 1 的插值多项式
~p(x) = l 1 fk
i= 1
l1 x x i
fk 5
fk
fk 2) 1 + fk
2)
yk+1 = yk + 7h20(251fk+1 + 646fk 264fk 1 + 106fk 2 19fk 3)
表 8.3
显式Adams方法
步数(l ) 方法阶 ( p)
公式
1
1
2
2
3
3
4
4
yk+1 = yk + hfk
yk+1
=
yk
+
h(3 2
fk
fk 1)
= xk+1 [ f (x, y(x))
i=0
p( x)]dx
xk
t=x
xk
= xk+1 y(l+1)( (x))(x
xk
l!
xk )(x
xk 1)L(x
xk l+1)dx
h
=
ቤተ መጻሕፍቲ ባይዱ
y(l +1)(
( x )) {
1
t(t + 1)(t + 2)L(t + l
1)dt }hl +1
l!
0
Created with SmartPrinter trail version
xx xxkk i
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
欧拉公式的改进: 欧拉公式的改进: 隐式欧拉法 /* implicit Euler method */ 向后差商近似导数
y′( x1 ) ≈
y ( x1 ) ≈ y0 + h f ( x1 , y ( x1 ))
y( x1 ) − y( x0 ) h
x0
x1
y i +1 = y i + h f ( x i +1 , y i +1 ) ( i = 0, ... , n − 1)
x n +1 xn
f ( x , y )dx ≈ h∑ c i f ( x n + λ i h, y ( x n + λ i h))
m i =1 i =1
y ( x n + 1 ) − y ( x n ) ≈ h∑ c i f ( x n + λ i h, y ( x n + λ i h)) y n + 1 = y n + h∑ c i f ( x n + λ i h, y ( x n + λ i h))
1 1 y i + 1 = y i + h[ 2 K 1 + 2 K 2 ] K 1 = f ( xi , yi ) K = f ( x + h , y + hK ) 2 i i 1
斜率 一定取K 一定取 1 K2 平均值吗 的平均值吗?
步长一定是一个h 步长一定是一个 吗?
Step 1: 先用显式欧拉公式作预测,算出 y i +1 = y i + h f ( x i , y i ) 先用显式欧拉公式作预测 显式欧拉公式作预测, Step 2: 再将 yi +1 代入隐式梯形公式的右边作校正,得到 代入隐式梯形公式的右边作校正 隐式梯形公式的右边作校正,
y i +1
h = yi + [ f ( x i , yi ) + f ( x i +1 , y i +1 )] 2
Ri = y( xi +1 ) − yi+1
h2 = − y′′(xi )+O(h3 ) 2
阶精度。 即隐式欧拉公式具有 1 阶精度。
梯形公式 /* trapezoid formula */
§1 Euler’s Method
— 显、隐式两种算法的平均 隐式两种算法的平均
h yi +1 = yi + [ f ( x i , yi ) + f ( x i +1 , yi +1 )] ( i = 0, ... , n − 1) 2
c1 + c 2 + c 3 = 1
K 2 = f ( x i + λ1 h, y i + hλ1 k1 )]
y 2 = y i + λ 2 h[c1 K 1 + c 2 K 2 ]
y 3 = y i + λ 3 h[c1 K 1 + c 2 K 2 + c 3 f ( x i + λ 2 h, y i + λ 2 h( c1 K 1 + c 2 K 2 )]
§1 Euler’s Method
方 法 显式欧拉 隐式欧拉 梯形公式 中点公式
简单 稳定性最好 精度提高 精度提高, 精度提高 显式
精度低 精度低, 精度低 计算量大 计算量大 多一个初值, 多一个初值 可能影响精度
§1 Euler’s Method
改进欧拉法 /* modified Euler’s method */
同时出现在等式的两边,不能直接得到, 由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故 欧拉公式,而前者称为显式 称为隐式 称为隐式 /* implicit */ 欧拉公式,而前者称为显式 /* explicit */ 欧拉公式。 欧拉公式。 一般先用显式计算一个初值, 迭代求解 求解。 一般先用显式计算一个初值,再迭代求解。 隐式欧拉法的局部截断误差 欧拉法的局部截断误差: 隐式欧拉法的局部截断误差:
y′( x1 ) ≈
y ( x 2 ) ≈ y ( x 0 ) + 2 h f ( x1 , y ( x1 ))
y ( x 2 ) − y ( x0 ) 2h
x0 x1 x2
y i +1 = yi −1 + 2h f ( x i , y i ) i = 1, ... , n − 1
假设 yi −1 = y( xi −1 ), yi = y( xi ) ,则可以导出 Ri = y( xi+1 ) − yi +1 = O(h3 ) 阶精度。 即中点公式具有 2 阶精度。
dx 首先希望能确定系数 λ1、λ2、p,使得到的算法格式有 阶 ,使得到的算法格式有2阶 精度, 的前提假设下, ( x, y) 精度,即在 yi = y( x i ) 的前提假设下,使得 + f y ( x, y) dy = fx dx Ri = y ( x i +1 ) − y i +1 = O ( h 3 ) = f x ( x, y) + f y ( x, y) f ( x, y) Step 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开
K 1 = f ( xi , yi )
K 2 = f ( x i + λ1 h, y i + λ1 hk 1 )]
c1 + c 2 + c 3 = 1
0 < α1 ≤ 1
K 3 = f ( x i + λ 2 h, y i + h( µ 31 K 1 + µ 32 K 2 )]
λ 2 = µ 31 + µ 32 ,
K 2 = f ( xi + ph, yi + phK 1 ) = f ( xi , yi ) + phf x ( xi , yi ) + phK 1 f y ( xi , yi ) + O( h2 )
= y ′ ( x i ) + ph y ′′ ( x i ) + O ( h 2 )
Step 2: 将 K2 代入第 式,得到 代入第1式
c1 + c 2 = 1
0 < λ1 ≤ 1
称作过两个点的 Runge − Kutta 方法 .
c1 , c 2 , λ1待定系数 .
y 3 = y i + λ 3 h[c1 f ( x i , y i ) + c 2 f ( x i + λ1 h, y ( x i + λ1 hi ) + c 3 f ( x i + λ 2 h, y ( x i + λ 2 hi )]
i =1 m
§2 Runge-Kutta Method
如何确定下式中的系数? 如何确定下式中的系数?
yi +1 K1 K2 = = = yi + h [λ1 K 1 + λ2 K 2 ] f ( x i , yi ) f ( x i + ph, yi + phK 1′) x) = d f ( x, y) y′ (
{
}
§2 Runge-Kutta Method
Step 3: 将 yi+1 与 y( xi+1 ) 在 xi 点的泰勒展开作比较 点的泰勒 泰勒展开作比较
y 1 = y i + λ 1 hf ( x i , y i ) = y i + λ 1 hK 1
K 1 = f ( xi , yi )
y
y( xi )
0 < λ1 ≤ 1 0 < λ2 ≤ 1
x i + λ1 h
c1 + c 2 = 1
o
xi
y 2 = y i + λ 2 h[c1 f ( x i , y i ) + c 2 f ( x i + λ1 h, y ( x i + λ1 hi )]
i = 2,3,L, m
i −1 j =1 m
K i = f ( x n + λ i h, y n + h ∑ ( µ ij K j )
λ i = ∑ µ ij µ ij > 0
j =1
x n +1
n
∑ λi = 1
i =1
m
m 级 Runge − Kutta 方法也可以这样解释 :
∫x
y ′( x )dx = ∫
y i + 1 = y i + h λ 1 y ′( x i ) + λ 2[ y ′( x i ) + ph y ′′( x i ) + O ( h 2 )] = y i + ( λ 1 + λ 2 ) h y ′( x i ) + λ 2 ph 2 y ′′( x i ) + O ( h 3 )
y 3 = y i + λ 3 h[c1 K 1 + c 2 K 2 + c 3 K 3 ]
y 3 = y i +1 = y i + h[c1 K 1 + c 2 K 2 + c 3 K 3 ]
K 1 = f ( xi , yi )
y i + 1 = y i + h[c1 K 1 + c 2 K 2 + c 3 K 3 ]
x i + hλ 2
xi +1
x
y 2 = y i + λ 2 h[c1 K 1 + c 2 f ( x i + λ 1 h, y 1 )]