§5.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。

迭代方法(例如牛顿法)通常用于求解隐式公式。

计算方法第五章4-5节

计算方法第五章4-5节


i 0
i
n i
求解时与梯形法(2.7)相同,要用迭代法方可算出 yn 1 .
p p i
yn 1
a
i 0
yn i h bi f n i ,
i 1
(4.1) (2.7)
yn 1 yn
h 2
[ f ( xn , y n ) f ( xn 1 , yn 1 )],
xn

积分求得.
10
也可以利用(4.4)由 c1
cr 0
p
推出, 对比
yn 1 yn h bi f n i
i 1

yn 1
cq
p
1 q!
p q
p q 1
{ [ ( i ) ak 1 q ( i ) 1
p i 0 i 1 i 1
若b1
0
,则令 c1
cr 0
来求得
b0 , b1 , , bp
11
.

p 2 为例,由
c1 c2 c3 0
,根据
b1 b0 b1 b2 1, 2(b1 b 2b2 ) 1, 1 3( b1 b 4b2 ) 1, 1
3
1
h 12 h
4
2
24 h
5
3
720
106 f n 2 19 f n 3 )
17
例6 用四阶Adams显式和隐式方法解初值问题
y y x 1, y (0) 1.
取步长 h 0.1. 解 本题
f n yn xn 1, xn nh 0.1n
(1.1) (5.2) (1.2)

常微分方程数值解法2线性多步法

常微分方程数值解法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的方法采取—些中间步骤(例如,半步)来获得更高阶的方法,但是在进行第二步之前丢弃所有先前的信息。

多步法尝试通过保留和使用先前步骤的信息而不是丢弃它来提高效率。

因此,多步法是指前几个点和导数值。

在多步法的情况下,使用先前点和导数值的线性组合。

通常使用三类多步法: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。

线性多步法

线性多步法

常微分方程数值解的多步法。

从概念上讲,一种数值方法是从一个初始点开始的,然后在时间上向前迈出一小步,以找到下一个求解点。

以下过程绘制解决方案。

单步方法(例如欧拉方法)仅参考前一点及其导数来确定当前值。

诸如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。

迭代方法(例如牛顿法)通常用于求解隐式公式。

线性多步法

线性多步法
规定 yi=▽0yi 为f(x)在点xi处的零阶差分。
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阶方法。

常微分方程初值问题的线性多步法基本公式的研究及构造

常微分方程初值问题的线性多步法基本公式的研究及构造

5 结论 (54)致谢 (55)参考文献 (56)附录 (59)1 绪论解常微分方程在很多学科领域内都有着重要的应用,自动控制、各种电子学装置的设计、弹道的计算、飞机和导弹飞行的稳定性的研究、化学反应过程稳定性的研究等。

这些问题都可以化为求常微分方程的解,或者化为研究解的性质的问题。

但大部分的常微分方程其真解通常难以通过解析的方法来获得,至今有许多类型的微分方程还不能给出解的解析表达式,一般只能用数值的方法进行计算。

有关这一问题的研究早在十八世纪就已经开始了,当前计算机的发展更是为常微分方程的应用及理论研究提供了非常有力的工具,从而能使人们认识解的种种性质及其数值特征。

应该说,应用常微分方程理论已经取得了很大的成就,但是,它的现有理论也还远远不能满足需要,还有待于进一步的发展,使这门学科的理论更加完善。

对于常微分方程初值问题的数值计算方法,许多学者已经做了大量的工作。

Dahlquist[1],J.C. Butcher[2],P. Henrici[3],和C.W. Gear[4]对于定义在有限区间上的情形作了比较详细的讨论,对于无界区间上的情形没有涉及。

但是文献[5] [6] [7]讨论了无界区间上常微分方程初值问题数值解的稳定性和收敛性。

本章主要介绍了常微分方程初值问题的研究状况以及本文将要讨论的问题。

1768年,Euler提出了关于常微分方程初值问题的方法,1840年,Cauchy第一次对初值问题进行了仔细的分析,早期的常微分方程数值解的问题来源于天体力学。

在1846年,当Adams还是一个学生的时候,和Le Verrier一起根据天王星轨道中出现的已知位置,预测了它下一次出现的位置。

1883年,Adams提出了Adams-Bashforth和Adams-Moulton方法。

Runge、Heun和Kutta提出Runge-Kutta 方法。

二十世纪五十年代,Dahlquist[8][9]建立了常微分方程数值解法的稳定性理论,线性多步法是常微分方程初值问题的一种数值方法。

第六章 第四节 线性多步法

第六章 第四节 线性多步法

上式中右端的 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 ,并注意到

第五讲 第4章 线性多步法(续)

第五讲 第4章 线性多步法(续)

第4章 线性多步法4.1 线性多步法的一般公式前面给出了求解初值问题(1.2.1)的单步法,其特点是计算 时只用到的值,此时 的值均已算出.如果在计算 时除用 的值外,还用到的值,这就是多步法.若记,h 为步长,,则线性多步法可表示为(4.1.1)其中为常数,若(即不同时为零),称(4.1.1)为线性k 步法.计算时用到前面已算出的k 个值.当时,(4.1.1)为显式多步方法,当则称(4.1.1)为隐式多步法.隐式方法与梯形方法一样,计算时要用迭代法求.多步法(4.1.1)的局部截断误差定义也与单步法类似.举例来说,对于初值问题'1,y y x =-++(0)1y =,步数k=2时,线性多步法表示为101111011(), 1,2,n n n n n n y y y h f f f n ααβββ+--+-=++++=当时,格式为显示的:10110111[(1)(1], 1,2,n n n n n n n y y y h y x y x n ααββ+---=++-+++-++=,而时,格式为隐式的:10111110111[(1)(1)(1], 1,2,n n n n n n n n n y y y h y x y x y x n ααβββ+--++--=++-+++-+++-++=。

定义4.1 设y(x)是初值问题(1.2.1)的精确解,线性多步法(4.1.1)在处的局部截断误差定义为(4.1.2)若,则称线性多步法(4.1.1)是p阶的.如果我们希望得到的多步法是p阶的,则可利用Taylor公式展开,将在处展开到阶,它可表示为(4.1.3)注意,(4.1.2)式按Taylor展开可得经整理比较系数可得(4.1.4)若线性多步法(4.1.1)为p阶,则可令于是得局部截断误差(4.1.5)右端第一项称为局部截断误差主项.称为误差常数.要使多步法(4.1.1)逼近初值问题(1.2.1),方法的阶p≥1,当p=1时,则,由(4.1.4)得(4.1.6)称为相容性条件.公式(4.1.1)当k=1时即为单步法,若,由(4.1.6)则得式(4.1.1)就是,即为Euler法.此时,方法为p=1阶.若,由得,为确定及,必须令,由(4.1.4)得及此时(4.1.1)就是即为梯形法.由故p=2,方法是二阶的,与3.1节中给出的结果相同.实际上,当k给定后,则可利用(4.1.4)求出公式(4.1.1)中的系数及,并求得的表达式(4.1.5).4.2 Adams显式与隐式方法形如(4.2.1)的k步法称为 Adams 方法,当时为 Adams 显式方法,当时,称为Adams隐式方法.对初值问题(1.2.1)的方程两端从到积分得显然只要对右端的积分用插值求积公式,求积节点取为即可推出形如(4.2.1)的多步法,但这里我们仍采用Taylor展开的方法直接确定(4.2.1)的系数.对比(4.1.1)可知,此时,只要确定即可.现在若k=4且,即为4步的Adams显式方法其中为待定参数,若直接用(4.1.4),可知此时自然成立,再令可得解此方程组得055 24β=,15924β=-,23724β=,3924β=-.由此得到于是得到四阶Adams显式方法及其余项为(4.2.2)(4.2.3)若,则可得到p=4的Adams隐式公式,则k=3并令,由(4.1.4)可得解得,而,于是得到四阶Adams隐式方法及余项为(4.2.4)(4.2.5)一般情形,k步Adams显式方法是k阶的,k=1即为Euler法,k=2为k=3时,.k步隐式方法是(k+1)阶公式,k=1为梯形法,k=2为三阶隐式Adams公式k步的Adams方法计算时必须先用其他方法求出前面k个初值才能按给定公式算出后面各点的值,它每步只需计算一个新的f值,计算量少,但改变步长时前面的也要跟着重算,不如单步法简便.例4.1 用四阶显式Adams方法及四阶隐式Adams方法解初值问题,步长h=0.1用到的初始值由精确解计算得到.解本题直接由公式(4.2.2)及(4.2.4)计算得到.对于显式方法,将直接代入式(4.2.2)得到其中.对于隐式方法,由式(4.2.4)可得到直接求出,而不用迭代,得到计算结果如表所示.表4-1 Adams方法和Adams隐式方法的数值解与精确解比较4.3 Adams预测-校正方法上述给出的Adams显式方法计算简单,但精度比隐式方法差,而隐式方法由于每步要做迭代,计算不方便.为了避免迭代,通常可将同阶的显式Adams方法与隐式Adams方法结合,组成预测-校正方法.以四阶方法为例,可用显式方法(4.2.2)计算初始近似,这个步骤称为预测(Predictor),以P表示,接着计算f值(Evaluation),,这个步骤用E表示,然后用隐式公式(4.2.4)计算,称为校正(Corrector),以C表示,最后再计算,为下一步计算做准备.整个算法如下:(4.3.1)公式(4.3.1)称为四阶Adams预测-校正方法(PECE).其matlab程序如下function y = DEYCJZ_adms(f, h,a,b,y0,varvec,type)format long;N = (b-a)/h;y = zeros(N+1,1);x = a:h:b;y(1) = y0;y(2) = y0+h*Funval(f,varvec,[x(1) y(1)]);y(3) = y(2)+h*Funval(f,varvec,[x(2) y(2)]);y(4) = y(3)+h*Funval(f,varvec,[x(3) y(3)]);for i=5:N+1v1 = Funval(f,varvec,[x(i-4) y(i-4)]);v2 = Funval(f,varvec,[x(i-3) y(i-3)]);v3 = Funval(f,varvec,[x(i-2) y(i-2)]);v4 = Funval(f,varvec,[x(i-1) y(i-1)]);t = y(i-1) + h*(55*v4 - 59*v3 + 37*v2 - 9*v1)/24;ft = Funval(f,varvec,[x(i) t]);y(i) = y(i-1)+h*(9*ft+19*v4-5*v3+v2)/24;endformat short;问题1 (4.3.1)中的第四步在程序中那一行实现了?利用(4.2.2)和(4.2.4)的局部截断误差(4.2.3)和(4.2.5)可对预测-校正方法(4.3.1)进行修改,在(4.3.1)中的步骤P 有5(5)11251()()720p n n n y x y h y x ++-≈ 720问题2 这个约等式是怎么得来的?什么方法? 对于步骤C 有5(5)1119()720p n n n y y h y x ++-≈两式相减可得 5(5)11720()()270pn n n h y x y y ++≈--于是有若用代替上式,并令显然比更好,但注意到的表达式中是未知的,因此改为下面给出修正的预测-校正格式(PMECME).(4.3.2)经过修正后的PMECME 格式比原来PECE 格式提高一阶.问题3 试着编出该程序!!4.4 Milne方法与Hamming方法与Adams显式方法不同的另一类四阶显式方法的计算公式形如(4.4.1)这里为待定常数,此公式也是k=4步方法,即计算时要用到4个值.为了确定,当然可以利用公式(4.2.1)直接算出,但下面我们直接利用Taylor展开式确定,,使它的阶尽量高.方法(4.4.1)的局部截断误差为将它在点展成Taylor级数,得要使公式的阶尽量高,要令前3项系数为0.即代入公式,的系数为0,故解得,(4.4.2)于是得四阶方法(4.4.3)称为Milne 公式,它的局部截断误差为(4.4.2).与(4.4.3)配对的隐式方法为k=3的多步法,它的一般形式可表示为要求公式的阶p=4,可直接用(4.2.1),并令,可得(4.4.4)若令,可解出,于是得到下列四阶方法(4.4.5)称为Simpson 公式,它的局部截断误差为(4.4.6)用Simpson 公式与Milne 公式(4.4.3)相匹配,用(4.4.3)做预测,(4.4.5)做校正,由于(4.4.5)的稳定性较差,因此通常较少使用.为了改善稳定性,可重新选择四阶的隐式公式,Hamming 通过试验,发现在(4.4.4)中若令,得到的公式稳定性较好,此时(4.4.4)的解为,于是得四阶多步法(4.4.7)称为Hamming 公式,它的局部截断误差为(4.4.8)用Milne 公式(4.4.3)与Hamming 公式(4.4.7)相匹配,并利用截断误差公式(4.4.2)与(4.4.8)改进计算结果.131212114(22)31[93(2)]8n n n n n n n n n n n y y f f f y y y h f f f +---+-+-⎧=+-+⎪⎪⎨⎪=-++-⎪⎩(4.4.7’)该算法称为Hamming预测-校正法。

数值分析线性多步法讲解

数值分析线性多步法讲解

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

第三节 线性多步法

第三节  线性多步法

① 取 β −1 = 0 可得欧拉方法 yi +1 = yi + h f i ② 取 β −1 = 1 可得隐式欧拉方法 yi +1 = yi + h f i +1 1 h ③ 取 β −1 = β 0 = 可得梯形方法 yi +1 = yi + ( f i +1 + f i ) 2 2
例1. 推导最高阶的线性二步方法显格式. . 推导最高阶的线性二步方法显格式. 显式线性二步 二步方法为 解: 显式线性二步方法为 yi +1 = α0 yi + α1 yi −1 + h ( β 0 f i + β1 f i −1 ) 法一(基于Taylor展开): 法一(基于 展开): 展开 LTE = y ( x i + 1 ) − α 0 y ( x i ) − α 1 y ( x i − 1 ) − h [ β 0 f ( x i , y ( x i )) + β 1 f ( x i − 1 , y ( x i −1 ))]
1 24
1 24
h4 y ( 4) ( xi )
− α 0 y ( x i ) − α 1 [ y ( x i ) − h y ′( x i ) + 1 h 2 y ′′( x i ) − 1 h 3 y ′′′( x i ) 2 6 h 4 y ( 4 ) ( x i )] − h { β 0 y ′( x i ) + β 1 [ y ′( x i ) − h y ′′( x i ) + 1 h 2 y ′′′( x i ) − 1 h 3 y ( 4 ) ( x i )]} + O ( h 5 ) 2 6

k −1 C 0 = 1 − ∑ α j j =0 k −1 k −1 C 1 = 1 + ∑ j α j − ∑ β j j =0 j = −1 k −1 k −1 1 1 1 m m −1 C m = m ! − m ! ∑ ( − j ) α j − ( m − 1)! ∑ ( − j ) β j , m = 2, 3 ⋯ p, p + 1 j =0 j = −1

线性多步法

线性多步法

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 ⎩

线性多步法

线性多步法
线性多步法的实现
显式方法
显式方法定义 显式方法特点 显式方法实现步骤 显式方法优缺点
隐式方法
定义:需要解非线性方程组的数值方法 优点:精度高,稳定性好 缺点:计算量大,需要求解非线性方程组 应用:适用于非线性较强的系统
线性多步法的稳定性条件
稳定性定义:线性多步法在数值求解过程中保持解的稳定性和精度
添加标题
添加标题
添加标题
添加标题
精度:线性多步法具有较高的计 算精度,能够得到较为精确的数 值结果。
易于实现:线性多步法易于实现, 可以通过简单的编程语言实现算 法。
线性多步法的基本结构
线性多步法的定义 线性多步法的特点 线性多步法的分类 线性多步法的应用场景
02
线性多步法的分类
基于位置的分类
06
线性多步法的未来发展
理论研究
线性多步法的理论分析 线性多步法的收敛性和稳定性 线性多步法的数值实现和算法优化 线性多步法在其他领域的应用前景
应用研究
线性多步法在科学计算中的应用
线性多步法在偏微分方程求解中 的应用
添加标题
添加标题
添加标题
添加标题
线性多步法在控制系统中的应用
线性多步法在优化问题中的应用
应用:适用于解决初值问题,被广泛应用于科学计算和工程领域
与隐式方法的比较:隐式方法需要求解非线性方程组,而线性多步法可以直接使用线性方程组进 行计算
线性多步法的特点
稳定性:线性多步法具有较好的 数值稳定性和收敛性,能够避免 数值误差的积累。
适用范围广:线性多步法适用于 解决各种初值问题和边值问题, 具有较广的适用范围。
零阶方法:不使用历史信息
一阶方法:使用一个历史信息

《线性多步法》课件

《线性多步法》课件

线性多步法PPT课件
本PPT课件全面介绍线性多步法,包括其原理、常见算法、优缺点,以及在科 学计算中的应用。通过案例研究展示其解决实际问题的能力,并对其进行总 结和展望。
线性多步法的简介
线性多步法是一种常用的数值解常微分方程的方法之一,通过一系列历史解 来逼近未知的解。它的优点是高效和精确。
线性多步法的原理
一种隐式的线性多步法,通过历史解的插 值和导数来逼近未知的解。
Adams-Moulton方法
一种隐式的线性多步法,使用历史解和未 知解的插值来逼近未知的解。
Crank-Nicolson方法
一种半隐式的线性多步法,使用历史解和 未知解的加权平均值来逼近未知的解。
线性多步法的优缺点
1 优点
2
高效:使用历史解逼近未知解,节省计 算量。
线性多步法基于差分近似和插值,将未知的解表示为已知的历史解的线性组合。它使用多个历史 解来逼近未知的解,从而提高精度。
常见的线性多步法算法
Adams-Bashforth方法
一种显式的线性多步法,通过利用历史解 的插值来逼近未知的解。
Backward D ifferentiation Formula (BD F)
精确:多个历史解的线性组合提高数值 解的精度。
3 缺点
4
初始条件敏感:对初始条件要求较高, 初始条件的误差会传播到后续步骤。
稳定性限制:某些算法在稳定性方面具 有限制,对方程的性质和步长有一定要 求。
线性多步法在科学计算中的应 用
线性多步法广泛应用于科学计算领域,特别是求解常微分方程和偏微分方程 的数值解。它在物理学、工程学、生物学等领域有着重要的应用。
案例研究:使用线性多步法解决实际 问题

线形多步法

线形多步法

r
r
k ynk h h fnk
k 0
k 1
其中, fnk f (xnk , ynk ) (k 1,0,1,...,r)中取r 3,即设
yn1 0 yn 1 yn1 ... 3 yn3 h(1 fn1 0 fn ... 3 fn3 )
为使算法达到p 4阶精度,将y(xnk )及f (xnk , y(xnk )) y(xnk )
(k 0,1,2,3)
f (xnk , y(xnk )) y' (xnk ) y' (xn kh)
y
'
(
xn
)
(k
h)
y
''
(
xn
)
(k h) 2 2!
y(3) (xn )
(k h)3 3!
y(4) (xn )
(k h) 4 4!
y(5) (xn ) O(h5 )
(k 1,0,1,2,3)
数值计算方法
线形多步法
单 多 去步 步 计法 法 算主是yn+要想1。依依据据yynn的,信yn-息1…去,计yn算-r yn(+r1≥1。)的线信性息 考虑到线性组合较为方便,因此,线性多步法
一般形式可设为
yn1 0 yn 1 yn1 ... r ynr h(1 fn1 0 fn ... r fnr )
)
2
f
n
f n 1 ]
数值计算方法
基于数值积分的方法
若取r 1个点: (xn1, fn1),(xn , fn ),...,(xnr1, fnr1) 做r次插值多项式, 则可同上求得:
yn1
yn
h (9 24
f n 1

数值分析(26) 线性多步法

数值分析(26) 线性多步法

此式称为Adams显式公式,是四阶公式.
局部截断误差为
Rn1

251 720
h5
y(5) n

O(h6 )
h yn1 yn 24 (9 fn1 19 fn 5 fn1 fn2 )
为四阶Adams隐式公式,其局部截断误差为
Rn1


19 720
h5
y(5) n

O(h6 )
数值分析
第三节 线性多步法
单步法在计算yn1时,只用到前一步的信息yn。 为提高精度,需重新计算多个点处的函数值,如R-K 方法,计算量较大。如何通过较多地利用前面的已知 信息,如yn,yn-1, ,yn-k ,来构造高精度的算法计算yn1, 这就是多步法的基本思想。
数值分析
数值分析
多步法中最常用的是线性多步法,它的一般形式为
h5
y(5) ( )
数值分析
数值分析
同样,如果过节点xn+1 , xn , xn1 , xn2的F ( x)三次
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 )
h yn1 yn 24 (55 fn 59 fn1 37 fn2 9 fn3 ) 这就是四阶Adams显式公式。由于积分区间在插值 区间[ xn3 , xn ]外面,又称为四阶Adams外插公式。 由插值余项公式可得其局部截断误差为
Rn1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用r+1 个节点上的被积函数值 xn , fn , xn-1, fn-1 ,, xn-r , fn-r 构造 r 阶牛顿后插多项式, 有
-t j N r ( xn + th) = -1 f n - j, j =0 j x - xn 其中0 t = 1, j 表示 j 阶向前差分, h
r 1 j
a j为不依赖于n和r的系数,
- t a j = ( -1) dt 0 j
j 1
Adams 显式公式
aj 1
j 0
1
2 3
1/2
5/12 3/8
6 6
© 2009, Henan Polytechnic University §5 线性多步法
第五章 常微分方程数值解法
© 2009, Henan Polytechnic University §5 线性多步法
3 3
第五章 常微分方程数值解法
一般地,利用插值原理所建立的一系列数值积分 方法也可以导出解微分方程的一系列计算公式。 运用插值方法的关键在于选取合适的插值节点。 假设已构造出f(x,y(x))的插值多项式Pr(x),则
f j = f (xj , yj )
yn+1 = a0 yn + a1 yn-1 + ... + ar yn-r + h(b-1 fn+1 + b0 fn + b1 fn-1 + ... + br fn-r )
© 2009, Henan Polytechnic University §5 线性多步法
h r = 1, yn +1 = yn + (3 f n - f n -1 ) R 5 h3 y ( xn ) 2 12 常用的是 r = 3 的4阶亚当姆斯显式公式
y i +1 h = yi + (55 f i - 59 f i -1 + 37 f i - 2 - 9 f i - 3 ) 24
2 2
第五章 常微分方程数值解法
5.5.1 基于数值积分的构造法
将 y = f ( x , y ) 在 [ xk , xk +1 ] 上积分,得到
y( xk +1 ) - y( xk ) =
xk +1
xk
f ( x, y( x ))dx
xk +1
k
只要近似地算出右边的积分 I f ( x, y( x))dx , x 则可通过 yk +1 = yk + I 近似y(xk+1) 。而选用不同近 似式 I,可得到不同的计算公式。例如利用左矩形 积分公式得到欧拉公式;梯形积分公式得到梯形公 式。
1 0
1
y ( r + 2) n r +1 t dt = Br h r + 2 y ( r + 2) ( n ) r + 1!
1 2 R h y( xn ) 2
例:
Br h r + 2 y ( r + 2) ( xn )
r = 0, yn +1 = yn + hf n ,
j yn+1 = yn + h b ri f n-i 其中:b = (-1)i aj ri i =0 j=i i
r
r
© 2009, Henan Polytechnic University §5 线性多步法
7 7
第五章 常微分方程数值解法
Rr = y ( xn +1 ) - yn +1 = h Rr ( xn + th) dt 局部截断误差为: 0 = h

xk +1
xk
f ( x, y( x ))dx
xk +1
xk
Pr ( x )dx
y k + 1 = yk +
xk +1
xk
Pr ( x )dx
© 2009, Henan Polytechnic University §5 线性多步法
4 4
第五章 常微分方程数值解法
5.5.2 亚当姆斯显式公式

xn+1 xn
f ( x, y ( x)) dx =
1
x = xn + th

1 0
N r ( xn + th) h dt + Rr ( xn + th) h dt
0
1
-t j yn +1 = yn + h N r (xn + th) dt = yn + h -1 f n - j dt 0 0 j =0 j r r 1 j -t = yn + h -1 dt j f n - j = yn + h a j j f n - j 0 j =0 j =0 j
R
251 5 (5) h y ( xn ) 720
8 8
© 2009, Henan Polytechnic University §5 线性多步法
实际计算时,将差分展开
f n- j
j r
j = -1 f n -i i =0 i
j i r j i
ห้องสมุดไป่ตู้
j a j f n- j j =0
r r r j j i = a j -1 f n -i = -1 a j f n -i = b ri f n j =0 i =0 i =0 j =i i i =0 i
第五节 线性多步法
1
第五章 常微分方程数值解法
龙格-库塔方法是一类重要算法,但这类算法在
每一步都需要先预报几个点上的斜率值,计算量比
较 大 。 考 虑 到 计 算 yi+1 之 前 已 得 出 一 系 列 节 点 上 的斜率值,能否利用这些已知值来减少计算量呢? 这就是线性多步法的设计思想。 构造线性多步法有多种途径,这里介绍两种: 基于数值积分的构造方法; 当 b-10 时,为隐式公 式; b-1=0 则为显式公式。 基于Taylor展开的构造方法。 线性多步法的通式可写为:
r j

xn+1 xn
f ( x, y ( x)) dx =
x = xn + th

1 0
N r ( xn + th) h dt + Rr ( xn + th) h dt
0
1
Newton 插值余项
© 2009, Henan Polytechnic University §5 线性多步法
5 5
第五章 常微分方程数值解法
相关文档
最新文档