第三章 常微分方程的差分方法
计算方法常微分方程的差分方法
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
常微分方程差分法
i.常微分方程初值问题差分法i.1 常微分方程差分法考虑常微分方程初值问题:求函数()u t 满足(,), 0du f t u t T dt=<≤ (i.1a ) 0(0)u u = (i.1b)其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的连续函数,0u 和T 是给定的常数。
我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-∀∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在、唯一,并且连续依赖于初值0u 。
常微分方程初值问题(i.1)的精确解是从给定初始点00(,)t u 出发的一条连续曲线,通常情况下不可能用简单的解析表达式给出,只能求近似解。
差分法是常微分方程初值问题的主要数值解法,其目的是求得若干个离散点来逼近这条解曲线。
本章讨论常微分方程最常用的近似数值解法—差分方法。
构造差分法有两个基本途径。
一个是简单地用离散点上的差商近似替代微商。
另一个是先对微分方程积分得到积分方程,再利用离散点作数值积分。
先来看最简单的Euler 方法。
为此,首先将求解区域[0,]T 离散化为若干个离散点n t hn =:0110N N t t t t T -=<<<<= (i.3) 其中0h >称为步长。
在微积分课程中我们熟知,微商(即导数)是差商的极限。
反过来,差商就是微商的近似。
在0t t =处,在(i.1a )中用向前差商10()()u t u t h-代替微商du dt ,便得10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到1000(,)u u hf t u -=一般地,我们有1Euler (,), 0,1,,1n n n n u u hf t u n N +=+=-方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t 上的差分解1,,N u u 。
第三章 常微分方程的差分法
2.后退的欧拉法
3.梯形法 4.改进Euler法
1. 简单的欧拉(Euler)方法
考虑模型:
f ( x, y) y y( x0 ) y0
欧 拉 方 法
a xb
(1.1) (1.2)
最简单而直观 实用方法
弄清常微方程初值 问题数值解法的一 些基本概念和构造 方法的思路.
一个或一组具有所要求阶连续导数的解析函数,将 它代入微分方程(组),恰使其所有条件都得到满 足的解称为解析解(或古典解),称为真解或解。 寻找解析解的过程称为求解微分方程组。
4.什么是微分方程的数值解?
虽然求解微分方程有许多解析方法,但解析方法 只能够求解一些特殊类型的方程,从实际意义 上来讲
我们更关心的是某些 特定的自变量在某一个 定义范围内的一系列离散点上的近似值. 把这样一组近似解称为 微分方程在该范围内的
如果单步差分公式的局部截断误差为O(hp+1), 则称该公式为p阶方法.这里p为非负整数. 显然,阶数越高,方法的精度越高.
Taylor展开式,一元函数的Taylor展开式为:
若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。
y ( x n ) 2 y ( x n ) 3 y( x n 1 ) y( x n h) y( x n ) y ( x n )h h h 2! 3! Ri 的主项 2 /* leading term */ h R y( x ) y [ y ( x ) hy( x ) y( x ) O(h3 )] [ y hf ( x , y )] i i 1 i 1 i i i i i i 2
或用向前差 商近似导数
y ( xn 1 ) y ( xn ) y ( xn ) h
数值分析9-常微分方程的差分方法
常微分方程的定解问题
考虑一阶常微分方程的初值问题
dy f ( x, y) dx y ( a ) y0 x [a , b ]
只要 f (x, y) 在[a, b] R1 上连续,且关于 y 满足 Lipschitz 条
件,即存在与 x, y 无关的常数 L 使 | f ( x, y1 ) f ( x, y2 ) | L | y1 y2 |
对任意定义在 [a, b] 上的 y1(x) 和 y2(x) 都成立,则上述问题 存在唯一解。
差分方法
要计算出解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b 处的近似值 yi y( xi ) (i 1, ... , n) 节点间距 hi xi 1 xi (i 0, ... , n 1) 为步长,通常采用等距节点, 即取 hi = h (常数)。 在这些节点上采用离散化方法,(通常用数值积分、微分、 泰勒展开等)将上述初值问题化成关于离散变量的相应问题。 把这个相应问题的解yn作为y(xn)的近似值。这样求得的yn就是 上述初值问题在节点xn上的数值解。一般说来,不同的离散化
Step 3: 将 yi+1 与 y( xi+1 ) 在 xi 点的泰勒展开作比较
yi 1 yi (1 2 )h y( xi ) 2 ph2 y( xi ) O(h3 )
h2 y( xi 1 ) y( xi ) hy( xi ) y( xi ) O( h3 ) 2
改进的欧拉格式
考察改进的欧拉法,可以将其改写为:
y i 1 K1 K2
1 1 y i h K 1 K 2 2 2 f ( xi , yi ) f ( xi h, yi hK 1 )
第3章0102欧拉方法
n =0
2 y1 y0 h y0 x0 y0 1 0.2(1 0 12 ) 0.8
n 1 y2 y1 h y1 x1 y12 0.8 0.2 0.8 0.2 0.82 0.6144
2 2 n 2 y3 y2 h y2 x2 y2 0.6144 0.2 0.6144 0.4 0.6144
一阶常微分方程: 微分方程中各阶导数的最高阶数为 一阶的
定解条件:
初值问题----给出积分曲线在初始时
刻的状态 边值问题----给出积分曲线在首末两 端的状态
定理:常微分方程初值问题
y f ( x , y ), y ( x 0 ) y0 x [a , b ]
设x0∈[a,b], f(x,y)对 x 连续且关于y满足李普希兹 条件,则上述初值问题在[a,b]上有唯一解。
隐式欧拉公式的局部截断误差: 假设 yn y ( xn ) ,则
h2 2 y ( xn 1 ) yn 1 y ''( xn ) =O(h ) 2
隐式欧拉公式与显式欧拉公式的精度相当,都是一阶方法。
3.1.3 两步欧拉格式
为了提高精度,改用中心差商
1 [ y ( xn1 ) y ( xn1 )] 替 代 2h
n =0 x0=0
2 x0 2 0 y1 y0 h( y0 ) 1 0.1(1 ) 1.1 y0 1
2 x1 2 0.1 y2 y1 h( y1 ) 1.1 0.1(1.1 ) 1.1918 y1 1.1
n 1 x1 0.1
局部截断误差和阶:数值公式的精度
y ' y xy 2 取步长 h 0.2 ,用欧拉法解初值问题 其中 y (0) 1
第3章 常微分方程的差分方法
a = x0 < x1 < … < xi < … < xn = b
上的近似值y0, y1, …, yn。
两相邻节点间的距离
hi = xi+1 - xi (i=0,1,2,…,n-1)
称为步长。当
hi h (常值)时称为等步长,有
x x i, h ( i 1 , 2 ,... n ) i 0
Pn 1
Pn
Pn
y y(x)
Pn 1
o
x 0 x1 x 2
x i x i 1 x n 1 x n
图7-2
x
与14Leabharlann 得到 y2 作为y(x2 ) 的近值;……如此继续,直到Pn 点。这样,得出一条折线P0 P1P2…Pi…Pn 近似代
替积分曲线P'0 P'1P'2…P'i…P'n 。当步数越多时,
步格式。其中(2.5)是一个数值微分公式。故用其他数值微 分公式也可导出略异于( 2.2)的其他形式的算式来。例如, 用向后差商表示的两点数值微分公式
1 h y ( x ) y ( x ) y ( x ) y ( ) i 1 i 1 i i h 2 ( i 0 , 1 , ,n 1 )
y(xi+1 )和 y(xi )用其近似值 yi+1 和 yi 代入,则得
y y hf ( x , y )( i 0 , 1 , 2 ,..., n 1 )
i 1 i i i
16
此即(2.2)(欧拉格式)。 显然,欧拉格式具有递推性,在计算yi+1时只要用到前一
步所得结果 yi 一个信息就够了,因此是一种单步格式或称一
常微分方程的差分方法
h yn1 yn ( K 1 2 K 2 2 K 3 K 4 ) 6 z z h ( L 2L 2L L ) n 1 2 3 4 n1 6
5
九.收敛性与稳定性
1.收敛性问题
n Ch2 (1 hL) n1
Ch2 (1 hL)[Ch2 (1 hL) n 2 ] Ch2 (1 hL)Ch2 (1 hL)2 n 2 Ch2 (1 hL)Ch2 (1 hL)2 Ch2 (1 hL)3 n 3 1 n 2 Ch (1 hL)i (1 hL)n 0
1.收敛性问题
对于任意固定的xn=x0+nh,如果数值解yn当h0(同时 n∞)时趋向于准确解y(xn) ,则称该方法是收敛的。
定义:设y(xn)是初值问题的精确解,yn表示用某种数值 方法算出的数值解 εn= y(xn) - yn 称为该方法在xn的整体截断误差。
4
九.收敛性与稳定性
1.收敛性问题
13
十.方程组与高阶方程的情形
2.化高阶方程为一阶方程组
y z , y ( x 0 ) y0 z f ( x , y , z ), z ( x0 ) y0
y y hz h 2 ( L L L ) n n 2 3 n1 6 1 z n1 z n h ( L1 2 L2 2 L3 L4 ) 6
19
作 业
整理上机作业
20
16
十一.边值问题
常微分方程的差分方法
x, y x
h 2
f
xn, y xn f
xn1, y xn1
再离散化,即可得如下计算公式
yn1
yn
h 2
f
xn ,
yn
f
xn1,
yn1
与梯形求积公式相呼应的这一差分格式称为梯形格式。
第三章 常微分方程的差分方法
§ 1 欧拉方法 § 2 改进的欧拉方法 § 3 龙格-库塔方法 § 4 亚当姆斯方法 § 5 收敛性与稳定性 § 6 方程组与高阶方程的情形 § 7 边值问题
数值分析简明教程
4.1
安工大2004
引言
科学技术当中常常需要求解常微分方程的定解问题。这类问题的
最简单的形式,是本章着重要考察的一阶方程的初值问题:
数值分析简明教程
4.9
安工大2004
七桥问题
• 七桥问题Seven Bridges Problem
18世纪著名古典数学问题之一。在哥 尼斯堡的一个公园里,有七座桥将普雷 格尔河中两个岛及岛与河岸连接起来( 如图)。问是否可能从这四块陆地中任 一块出发,恰好通过每座桥一次,再回 到起点?欧拉于1736年研究并解决了 此问题,他把问题归结为如下右图的“ 一笔画”问题,证明上述走法是不可能 的。
,虽然他被别人从火海中救了出来,但他的书房和大量研究成果全部化为 灰烬了.
•
沉重的打击,仍然没有使欧拉倒下,他发誓要把损失夺回来.欧拉完
全失明以后,虽然生活在黑暗中,但仍然以惊人的毅力与黑暗搏斗,凭着
记忆和心算进行研究,直到逝世,竟达17年之久
数值分析简明教程
4.11
安工大2004
第3章 常微分方程的差分方法-1
y xn 1 y xn h f xn , y xn y ( x0 ) y0
y xn 1 y xn h f xn 1 , y xn 1
f ' ( x)
f ( x x ) f ( x ) x
y ( x0 ) y0 f ( x ) f ( x x ) y xn 1 y xn 1 2h f xn , y xn f ' ( x) y ( x0 ) y0
2015年4月9日9时19分
计算方法---- 常微分方程的差分方法
3.2
第三章 1.教学内容:
常微分方程的差分方法
Euler方法:Euler公式,单步显式公式极其局部截断误 差;后退Euler公式,单步隐式公式极其局部截断误差;梯 形公式,预测校正公式与改进Euler公式。
2.重点难点:
Euler公式,预测校正公式与改进Euler公式
欧拉(Euler)方法
Euler方法是求解初值问题的最简单方法 ,精度差。然而对理论分析很有用。RungeKutta法是对Euler法的改进
2015年4月9日分方法
3.15
3.1
1、欧拉格式
欧拉方法
y ' f x, y y x0 y0
f ' ( x) x
f ( x)
第一步:离散化 第二步:处理导数项
2015年4月9日9时19分
f ' ( x)
f ( x ) f ( x x ) x
f ' ( x)
计算方法---- 常微分方程的差分方法
f ( x x ) f ( x x ) 3.12 2x
2015年4月9日9时19分
- 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