第三章 常微分方程的差分方法
计算方法常微分方程的差分方法

y' (xn ) phy'' (xn ) O(h2 )
从而有 而
yn1 y(xn ) hy' (xn ) ph2 y'' (xn ) O(h3 )
有: λp=1/2。
y ( xn1 )
y(xn ) hy' (xn )
h2 2
y'' (xn ) O(h3 )
——二阶Runge-Kutta格式
yn1 yn' f
yn (xn ,
h[(1 yn )
)
yn' 1
yn'
]
yn' 1
f ( xn1, yn1)
yn1
yn
h 2
( yn' 1
yn' )
二阶隐式Adams格式
37
• 三阶隐式Adams格式
yn1
yn
h 12
(5
yn' 1
8 yn'
yn' 1)
• 四阶隐式Adams格式
yn1
yn
33
1.什么是传统机械按键设计?
传统的机械按键设计是需要手动按压按键触动PCBA上的开关按键来实现功 能的一种设计方式。
传统机械按键结构层图:
按键
PCBA
开关键
传统机械按键设计要点:
1.合理的选择按键的类型,尽量选择 平头类的按键,以防按键下陷。
2.开关按键和塑胶按键设计间隙建议 留0.05~0.1mm,以防按键死键。 3.要考虑成型工艺,合理计算累积公 差,以防按键手感不良。
h 24
(9 yn' 1
19 yn'
5 yn' 1
常微分方程的差分方法

邻两个节点的间距
No Image
称为步长,步长可以相等,也
可以不等。本章总是假定h为定数,称为定步长,这时节点可
表示为
No Image
数值解法需要把连续性的问题加以离散化,从而求出离散节点 的数值解。
School of Automation Engineering
自动化工程学院
第 三 章 常微分方程的差分方法
自动化工程学院
第 三 章 常微分方程的差分方法 例3.1 用欧拉法解初值问题
No Image
取步长h=0.2 ,计算过程保留4位小数
解: h=0.2,
No Image
欧拉迭代格式
No Image
No Image
当 k=0, x1=0.2时,已知x0=0,y0=1,有 y(0.2)y1=0.2×1(4-0×1)=0.8
No Image
(3.9)
所以, 由(3.8)和(3.9)可得两步欧拉公式的局部截断误差为, 即
No Image
School of Automation Engineering
自动化工程学院
第 三 章 常微分方程的差分方法
3.1.5 改进的欧拉公式
显式欧拉公式计算工作量小,但精度低。梯形公式虽提高
第 三 章 常微分方程的差分方法
第三章 常微分方程的差分方法
引言 包含自变量、未知函数及未知函数的导数或微分的方
程称为微分方程。在微分方程中, 自变量的个数只有一个, 称为常微分方程。自变量的个数为两个或两个以上的微分 方程叫偏微分方程。微分方程中出现的未知函数最高阶导 数的阶数称为微分方程的阶数。如果未知函数y及其各阶导 数
School of Automation Engineering
常微分方程的差分的方法

对于二阶常微分方程 $y'' = f(t, y, y')$,可以采用隐式差分法或显式差 分法进行求解。
VS
隐式差分法需要解方程组,计算量大, 但精度高;显式差分法精度低但计算 量小。
复杂微分方程组的求解实例
对于多个一阶或二阶常微分方程组成的复杂微分方程组,可以采用耦合差分法或龙格-库塔法进行求 解。
差分方法的基本概念和原理
基本概念
差分方法的基本概念是将时间或空间离散化,将连续的微分方程转化为离散的差 分方程。在时间离散化中,我们使用向前、向后或中心差分近似微分项;在空间 离散化中,我们使用有限差分近似微分项。
原理
差分方法的原理是将连续的微分方程转化为离散的差分方程,然后通过迭代或递 推的方式求解该差分方程。在每一步迭代或递推中,我们使用已知的函数值和差 分近似来计算新的函数值,直到达到所需的精度或收敛条件。
耦合差分法是将多个微分方程转化为耦合的差分方程组进行求解;龙格-库塔法是一种迭代算法,通过 已知的$y_n$和$y'_n$来求解$y_{n+1}$。
THANKS
感谢观看
REPORTING
https://
改进的龙格-库塔方法
引入预估校正步骤
为了提高数值解的精度和稳定性,可以在龙 格-库塔方法中引入预估校正步骤。通过预 估和校正两个步骤的结合,可以减小数值误 差并提高方法的收敛速度。
考虑非线性项的处理
在求解二阶常微分方程时,非线性项的处理 对于数值解的精度和稳定性具有重要影响。 通过改进非线性项的处理方式,可以进一步 提高改进的龙格-库塔方法的性能。
有限差分法
有限差分法的原理
有限差分法是一种基于离散化的数值方法, 通过将微分方程转化为差分方程来求解。该 方法的关键在于选择合适的差分格式和离散 化方案,以保证数值解的精度和稳定性。
第三章常微分方程的差分方法15

1.教学内容:
Euler方法:Euler公式,单步显式公式极其局部截断误 差;后退Euler公式,单步隐式公式极其局部截断误差;梯 形公式,预测校正公式与改进Euler公式。
2.重点难点:
Euler公式,预测校正公式与改进Euler公式
3.教学目标:
了解欧拉方法的几何意义、对给出的初值问题,能利 用Euler公式,改进Euler公式进行数值求解
科学技术当中常常需要求解常微分方程的定解问题。这类
问题的最简单的形式,是本章着重要考察的一阶方程的初值 问题:
y ' f x, y
y
x0
y0
(1) (2)
本章中我们假定右函数适当光滑以保证初值问题解的存
在唯一。虽然求解常微分方程有各种各样的解析方法,但求 解从实际问题中归结出来的微分方程要靠数值解法。
(其解析解为) y 2x 1
解:设步长 h=0.1,由改进的欧拉格式(10)有:
y
p
yn
h( yn
2xn ) yn
yc
yn
h( y p
2 xn1 ) yp
yn
1
1 2
(yp
yc )
n=0时
yp
y(xn ))
替代方程
y' (xn1) f (xn1, y(xn1))
中的导数项 y'xn1 再离散化,即可导出下列格式
yn1 yn hf xn1, yn1
(5)
该格式右端含有未知的 yn1 它实际上是个关于 yn1
的函数方程。故称该格式为隐式欧拉格式。
由于向前差商和向后差商具有同等精度,故隐式欧拉 格式也是一阶方法,精度与欧拉格式相当。但计算远 比显式格式困难得多。
高建军—第三章-常微分方程差分法1-2016.10

补充:差分格式的精度分析
定义 设差分格式具有m阶精度,对于一切次数小于等于m的
多项式是准确的,而对于次数为m+1的多项式是不准确的,则 称该差分格式具有m阶代数精度(简称精度)。
等价定义:设如差分格式 yn +1 ≈ yn + hy '( xn ) 对于 1, x, x
yn +1 = yn + hf ( xn , yn ),
0,1, 2, n=
精度低!
27
3.3 龙格-库塔方法
改进的欧拉格式
h yn +1 = yn + [ f ( xn , yn ) + f ( xn +1 , yn + hf ( xn , yn ))] 2
于是:
h yn +1 = yn + [k1 + k2 ] 2
3.3 龙格-库塔方法
采用预报-校正系统: (1)求得一个初步的近似值yn+p->得到斜率k2:
= yn + p y ( xn ) + phk1
(2)将近似值代入公式作迭代计算:
k2 = f ( xn + p , yn + p )
y n +1 =y n + h[(1 − λ )k1 + λ k 2 ] k1 = f ( x n , y n ) k = 2 f ( x n + p , y n + phk1 )
xk xk xkΒιβλιοθήκη 即:通过数值积分法,从y|x0=y0可逐渐求出yk,以作为y(xk) 的近似值。
15
3.2 改进的欧拉方法
Chapter3_常微分方程的差分方法(2)

常微分方程的差分方法第 3 章 2 2015/3/31 3 5 4 3 2 主要内容Euler 方法Runge –Kutta 方法Adams 方法收敛性与稳定性方程组与高阶方程的情形 3 1 边值问题*63 2015/3/31 问题提出许多实际问题的数学模型是微分方程或微分方程的定解问题,如物体运动、电路震荡、化学反应及生物群体的变化等。
有一个或多个导数及其函数的方程式称为微分方程,在工程中常遇到求解微分方程的问题。
⎩⎨⎧自变量)偏微分方程(一个以上量)常微分方程(一个自变微分方程本章重点研究一阶常微分方程的初值问题的数值解 )()( ),(:x y y y x y b xa y x f dx dy =⎪⎩⎪⎨⎧=≤≤=解函数)(其一般形式为10很多微分方程的解不能用初等函数来表示,有时即使能够用解析式表示其解,但计算量太大而不实用(表达式过于复杂)。
需要用数值方法来求解,一般只要求得到若干个点上的近似值或者解的简单的近似表达式(精度要求满足即可)。
⎩⎨⎧计算数值法:适合于计算机法如级数解法、逐次逼近近似解析法求近似解求精确解一般极困难,...:§7.1 引言两类求定解问题 ▪定解指已知因变量和/或其导数在某些点上是已知的(约束条件)▪实际中求解常微分方程的所谓定解问题有两类:初值问题和边值问题1. 边值问题约束条件为已知,在自变量的任一非初值上,已知函数值和/或其导数值,如常常可以将边值问题转化为初值问题求解。
yb y a y y y x f y 求解⎩⎨⎧=='=''βα)(,)(),,(2. 初值问题.)()(/),(/)(),(,以满足上述两式求解:初值上已知函数值,如约束条件为在自变量的x y y x y x x y x fdx dy y x y y x f y ⎩⎨⎧==⇒⎩⎨⎧=='00000).(),,,,()()( n n n n N n x y y N n y x y bx x x x x a x y ≈==<<<<<<=即的近似值处的值在一系列离散节点法,即寻求问题的解所谓初值问题的数值解 10210初值问题数值解的提法8.,, , 21001=+=-=+n nh x x h h x x h n n n n n ,取为常数通常将步长称为步长。
第三章常微分方程的差分方法(17-18)

四阶经典龙格解:四阶经典龙格-库塔公式
h y n +1 = y n + ( K 1 + 2 K 2 + 2 K 3 + K 4 ) 6 K1 = f ( xn , y n ) h K 2 = f ( xn+ 1 , y n + K1 ) 2 2 h K 3 = f ( x 1 , y n + K 2 ) n+ 2 2 K = f ( x , y + hK ) n +1 n 3 4
y ( x n +1 ) − y ( x n ) = y ′(ξ ) h
所以
y ( xn +1 ) = y ( xn ) + hy ′(ξ )
即
y ( xn +1 ) = y ( xn ) + hf (ξ , y (ξ )
(11)
K ∗ = f (ξ , y (ξ ) ) 为区间 [ xn , xn +1 ] 上的平均 我们称 斜率,这样只要对平均斜率 K ∗提供一种算法,相应地我
(16)
值得注意的是,龙格-库塔法的推导基于泰勒展 开法,因而它要求解具有较好的光滑性。如果解的光 滑性差,则该方法得到的解反而不好。
运用四阶经典龙格例:运用四阶经典龙格-库塔方法计算
3x y'= y − y y (0) = 1
的解在x=0.4处的近似值。取步长h=0.2。 的解在x=0.4处的近似值。取步长h=0.2。 x=0.4处的近似值 h=0.2
x n + p = x n + ph,
0 < p ≤1
x n + q ∈ [ x n , x n +1 ]
第三章 常微分方程的差分方法(补充)

为止,并以上一次步长的计算结果作为 yi 1 。 这种通过步长加倍或折半来处理步长的方法称为 变步长法。表面上看,为了选择步长,每一步都要 反复判断Δ,增加了计算工作量,但在方程的解y(x)
变化剧烈的情况下,总的计算工作量得到减少,结
果还是合算的。
3.4 亚当姆斯方法 3.4.1 亚当姆斯格式 龙格-库塔方法是一类重要算法,但这类 算法在每一步都需要先预报几个点上的斜率 值,计算量比较大。考虑到计算yi+1之前已得 出一系列节点上 xi , xi 1 , , x1 的斜率值, 能否利用这些已知值来减少计算量呢? 这就是亚当姆斯(Adams)方法的设计 思想。
然后将步长折半即以为步长从节点x出发跨两步到节点xi1再求得一个近似值截断误差是因此有这样16由此可得这表明以作为的近似值其误差可用步长折半前后两次计算结果的偏差来判断所选步长是否适当当要求的数值精度为时
5. 变步长的龙格-库塔法
在微分方程的数值解中,选择适当的步长是非常 重要的。单从每一步看,步长越小,截断误差就越 小;但随着步长的缩小,在一定的求解区间内所要 完成的步数就增加了。这样会引起计算量的增大, 并且会引起舍入误差的大量积累与传播。因此微分 方程数值解法也有选择步长的问题。 以经典的四阶龙格-库塔法(3.20)为例。从节点 (h) xi出发,先以h为步长求出一个近似值,记为 yi 1 , 由于局部截断误差为 O(h 5 ) ,故有
由于 0 ,故有
(3.26)
可见,如欲保证算法的稳定,显式Euler格式的
步长h的选取要受到式(3.26)的限制。 的绝对
值越大,则限制的h值就越小。
用隐式Euler格式,对模型方程 yi 1 yi h(yi 1 ) 的计算公式为,可化为 1 yi 1 yi 1 h
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Euler法的求解过程是:从初始点 P0(即点(x0,y0))出发,作积分曲线 y=y(x)在P0点上切线 P0 P (其斜率 1 为 y( x0 ) f ( x0 , y0 ) ),与x=x1直线
x0
x1
xi
xi+1
自 动 化 工 程 学 院
School of Automation Engineering
第 三 章
P1 P1 P0
常微分方程的差分方法
Pi+1 Pn Pi Pi+1 Pi y=y(x) Pn
x0
x1
xi
xi+1
xn
由此获得了P2的坐标。重复以上过程,就可获得一系列的 点:P1,P1,…,Pn。对已求得点 Pn ( xn , y n ) 以 y ( xn ) = f ( xn , yn )为斜率作直线 当 x xn1 时,得 取 y( xn ) y n
第 三 章
常微分方程的差分方法
第三章 常微分方程的差分方法
引言
包含自变量、未知函数及未知函数的导数或微分的方
程称为微分方程。在微分方程中, 自变量的个数只有一个, 称为常微分方程。自变量的个数为两个或两个以上的微分 方程叫偏微分方程。微分方程中出现的未知函数最高阶导 数的阶数称为微分方程的阶数。如果未知函数y及其各阶导 数
对于初值问题
散化,建立求数值解的递推公式。递推公式通常有两类,一 类是计算yi+1时只用到xi+1, xi 和yi,即前一步的值,因此有了 初值以后就可以逐步往下计算,此类方法称为单步法;其代 表是龙格—库塔法。另一类是计算yi+1时,除用到xi+1,xi和yi以 外,还要用到 xi p , yi p ( p 1,2,, k ) ,即前面k步的值,此类 方法称为多步法;其代表是亚当斯法。
, ,, y ( n ) y
都是一次的,则称它是线性的,否则称为非线性的。
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章
常微分方程的差分方法
在高等数学中,对于常微分方程的求解,给出了一些典
型方程求解析解的基本方法,如可分离变量法、常系数齐次
这样就获得了P1点的坐标。
School of Automation Engineering
第 三 章
常微分方程的差分方法
x0
x1
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章
P1 P1 P0
常微分方程的差分方法
Pi+1 Pn y=y(x) Pi Pn Pi+1 Pi
中的导数
y 进行不同的离散化处理。
y f ( x, y ) y ( x0 ) y 0
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章
常微分方程的差分方法
y f ( x, y ) y ( x0 ) y 0 的数值解法,首先要解决的问题就是如何对微分方程进行离
f ( x, y1 ) f ( x, y2 ) L y1 y2
对R内任意两个 y1 , y2 都成立,则方程( 3.1 )的解 y y (x) 在a, b上存在且唯一。
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章 7.2 数值方法的基本思想
第 三 章
常微分方程的差分方法
通常取 xi1 xi hi h (常数),则Euler法的计算格式
yi 1 yi hf ( xi , yi ) y 0 y ( x0 )
i=0,1,…,n
( 3.2 )
还可用数值微分、数值积分法和泰勒展开法推导Euler格式。 以数值积分为例进行推导。 将方程 y f ( x, y) 的两端在区间 xi , xi 1 上积分得,
x0
x1
xi
xi+1
xn
这样,从x0 逐个算出 对应的数值解
x1 , x2 , xn y1 , y 2 , y n
从图形上看,就获得了一条近似于曲线y=y(x)
的折线 P P P P 。 1 2 3 n
School of Automation Engineering
自 动 化 工 程 学 院
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章
常微分方程的差分方法
y i 1
h y i f ( xi , y i ) f ( xi 1 , y i 1 ) ( 3.5 ) 2
(3.5)式的右端含有未知的yi+1,它是一个关于yi+1的函数 方程,这类数值方法称为隐式方法。相反地,欧拉法是关于
y yn f ( xn , yn )(x xn )
yn1 yn f ( xn , yn )(x x1 xn )
自 动 化 工 程 学 院
School of Automation Engineering
第 三 章
P1 P1 P0
常微分方程的差分方法
Pi+1 Pn Pi Pi+1 Pi y=y(x) Pn
常微分方程的差分方法
对常微分方程初值问题(7.1)式的数值解法,就是要算出精确
解y(x)在区间a,b上的一系列离散节点
a x0 x1 xn1 xn b 处的函数值 y( x0 ), y( x1 ),, y( xn ) 的近似值 y 0 , y1 ,, y n
相邻两个节点的间距 h xi 1 xi 称为步长,步长可以相等, 也可以不等。本章总是假定h为定数,称为定步长,这时节点 可表示为
yi 1 yi hf ( xi , yi ) yi hyi hxi yi2
当 k=0, x1=0.2时,已知x0=0,y0=1,有 y(0.2)y1=0.2×1(4-0×1)=0.8 当 k=1, x2=0.4时,已知x1 =0.2, y1 =0.8,有 y(0.4) y2 =0.2×0.8×(4-0.2×0.8)=0.6144 当 k=2, x3 =0.6时,已知x2 =0.4, y2 =0.6144,有 y(0.6) y3=0.2×0.6144×(4-0.4×0.6144)=0.4613
yi+1的一个直接的计算公式, 这类数值方法称为显式方法。
School of Automation Engineering
同样, 过点P1(x1,y1),作积分曲线y=y(x)的切线 y( x1 ) 交直线x=x2于P2点,切线 P P 的斜率 = f ( x1 , y1 ) 1 2 直线方程为 当
x0
x1
xi
xi+1
xn
y y1 f ( x1 , y1 )(x x1 )
x x2时,得
y2 y1 f ( x1 , y1 )(x2 x1 )
xi 1
xi
y dx
xi 1
xi
f ( x, y)dx
xi 1 xi
y( xi 1 ) y( xi )
xi 1
xi
f ( x, y)dx y( xi )
f x, y( x)dx (3.3)
选择不同的计算方法计算上式的积分项
会得到不同的计算公式。
School of Automation Engineering
xn
相交于P1点(即点(x1,y1),得到y1作为y(x1)的近似值,如上图所示。 过点(x0,y0),以f(x0,y0)为斜率的切线方程为
y y0 f ( x0 , y0 )(x x0 )
当 x x1时,得
y1 y0 f ( x0 , y0 )(x1 x0 )
自 动 化 工 程 学 院
yi 1 yi hf ( xi , yi )
由于数值积分的矩形方法精度很低,所以欧拉(Euler) 公式当然很粗糙。
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章
常微分方程的差分方法
例3.1 用欧拉法解初值问题
y y xy 2 (0 x 0.6) y (0) 1 取步长h=0.2 ,计算过程保留4位小数 2 解: h=0.2, f ( x, y) y xy 欧拉迭代格式
School of Automation Engineering
0.2 yi (4 xi yi )
(i 0,1,2)
自 动 化 工 程 学 院
第 三 章 3.1.2 梯形公式 积分得,
常微分方程的差分方法
为了提高精度,对方程 y f ( x, y)的两端在区间上 xi , xi 1
School of Automation Engineering
自 动 化 工 程 学 院
第 三 章 3.1 欧拉(Euler)法
常微分方程的差分方法
3.1.1 Euler公式 欧拉(Euler)方法是解初值问题的最简单的数值方法。 初值问题 y f ( x, y ) y ( x0 ) y 0
线性方程的解法、常系数非齐次线性方程的解法等。但能求 解的常微分方程仍然是有限的,大多数的常微分方程是不可 能给出解析解。 譬如
x2 y2 y
这个一阶微分方程就不能用初等函数及其积分来表达 它的解。
School of Automation Engineering