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

合集下载

线性多步法

线性多步法

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

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

该过程的下一步是绘制解决方案。

一步法(例如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。

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

数值计算方法 线性多步法 - 线性多步法

数值计算方法 线性多步法 - 线性多步法

由四阶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 ),

数值分析(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

常微分方程数值解法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阶方法。

第六章 第四节 线性多步法

第六章 第四节 线性多步法

上式中右端的 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

华南理工大学数值分析教学内容及复习提纲

华南理工大学数值分析教学内容及复习提纲

华南理工大学数值分析教学内容及复习提纲全日制硕士生“数值分析”教学内容与基本要求一、教学重点内容及其要求(一)引论1、误差的基本概念理解截断误差、舍入误差、绝对(相对)误差和误差限、有效数字、算法的数值稳定性等基本概念。

2、数值算法设计若干原则掌握数值计算中应遵循的几个原则:简化计算步骤以节省计算量(秦九韶算法),减少有效数字的损失选择数值稳定的算(避免相近数相减),法。

重点:算法构造(如多项式计算)、数值稳定性判断(舍入误差的分析)(二)插值方法1、插值问题的提法理解插值问题的基本概念、插值多项式的存在唯一性。

2、Lagrange插值熟悉Lagrange插值公式(线性插值、抛物插值、n次Lagrange 插值),掌握其余项表达式(及各种插值余项表达式形式上的规律性)。

3、Newton插值熟悉Newton插值公式,了解其余项公式,会利用均差表和均差的性质计算均差。

4、Hermite插值掌握两点三次Hermite插值及其余项表达式,会利用承袭性方法构造非标准Hermite插值。

5、分段线性插值知道Runge现象,了解分段插值的概念,掌握分段线性插值(分段表达式)。

6、三次样条函数与三次样条插值概念了解三次样条函数与三次样条插值的定义。

重点:多项式插值问题(唯一性保证、构造、误差余项估计)(三)曲线拟合与函数逼近1、正交多项式掌握函数正交和正交多项式的概念(函数内积、2-范数、权函数,正交函数序列,正交多项式),了解Legendre多项式(授课时,将其放在课高斯型数值积分这部分介绍)。

2、曲线拟合的最小二乘法熟练掌握曲线拟合最小二乘法的原理和解法(只要求线性最小二乘拟合),会求超定方程组的最小二乘解(见教材P103)。

3、连续函数的最佳平方逼近了解最佳平方逼近函数的概念,掌握最佳平方逼近多项式的求法(从法方程出发)。

重点:最小二乘拟合法方程的推导、求解;拟合与插值问题的异同。

(四)数值微积分1、数值求积的基本思想、插值型求积公式与代数精度掌握插值型求积公式(系数表达式),理解代数精度概念,会利用代数精度构造求积公式。

大连理工大学 矩阵与数值分析 第2节线性多步法20160306

大连理工大学 矩阵与数值分析 第2节线性多步法20160306
i = n, n −1, L, n − k
插值节点的不同取法就导致不同的多步法。
(1)Adams外插法(显式多步法)
取k+1个节点tn-k,…,tn-1,tn及函数值f(tn-i,u(tn-i)) i=k,…,1,0
构造区间[tn,tn+1]上逼近f(t,u(t))的k次Lagrange插值多项式Ln,k(t)
其中
k +1
∑ ( ) u = u + n+1
n h bk +1i f tn−i+1, un−i+1
i=0
=∫ ∏ bk+1i
0 k+1 τ + j dt
−1
j=0 j≠i
j−i
且 t = tn+1 +τ h , τ ∈[−1, 0]。
注: t − tn− j+1 = tn+1 +τ h − tn + ( j −1) h = (τ + j ) h
第1章 常微分方程初值问题数值解法
§2 线性多步法
§2 线性多步法
前节所讨论的方法如Euler方法、改进Euler方法都称为单步法 (单步长法)。 因为它们只利用前一个点的信息来计算下一个点,
即,只用初始点u0计算u1; 一般说来,只用un来计算un+1。
线性单步法一般说来,精度是较低的。 为提高精度,我们考虑
3)内插法是隐式格式(稳定性好),外插法是 显式格式。
2.2 待定系数法(基于Taylor展开式的求解公式) 用数值积分法只能构造一类特殊的多步法,其系数 一般只满足:
ak=1,ak-m=-1 al=0,当l≠k-m, k。
本节我们将基于Taylor展开式来构造出更一般的求 解公式。

线性多步法

线性多步法

(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 ⎩

线性多步法2

线性多步法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))

《线性多步法》课件

《线性多步法》课件

线性多步法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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

其局部截断误差为
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
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
a0
1
0
1
1
1 2
此式称为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 )
数值分析
数值分析
(2)基于数值积分的Adams公式
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
y''' n
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 )
数值分析
数值分析
(5)若n 3,置n 1 n,返回 3;
数值分析
数值分析
隐式法与显式法的比较 一般地,同阶的隐式法比显式法精确,而且数值 稳定性也好。但在隐式公式中,通常很难解出yn+1 , 需 要用迭代法求解,这样又增加了计算量。 在实际计算中,很少单独用显式公式或隐式公式, 而是将它们联合使用:先用显式公式求出y(xn+1 )的预 估值,记作y n1 , 再用隐式公式对预估值进行校正,求 出y(xn+1 )的近似值yn1。
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
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)公式
h yn1 yn 24 (55 fn 59 fn1 37 fn2 9 fn3 )
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 )
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) )
3!
4!
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
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,
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
yn1 0 yn 1 yn1 h(1 fn1 0 fn 1 fn1 )
数值分析
数值分析
记yn(k) y(k) ( xn ) (k 1, 2, Taylor展开为
),则y( x)在xn处的
y( x)
yn
yn' ( x
xn )
yn'' 2
(x
xn )2
y( p) n p!
(x
xn ) p
数值分析
数值分析
例如k 3时,过节点xn , xn1 , xn2 , xn3 , F ( x)
3
的三次插值多项式为 L3 ( x) li ( x)F ( xni ) i0
其中
li ( x)
(x
xn
)( x
xn1 )(
3
x
xn2 )( x
xn3
)
( x xni ) ( xni xn j )
)( 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
xn2
)
dx
h 24 [55F ( xn ) 59F ( xn1 ) 37F ( xn2 ) 9F ( xn3 )]
Rn1
14 45
h5
y(5) n
相关文档
最新文档