第六章—常微分方程的数值解法ppt课件
常微分方程的数值解法

常微分方程的数值解法在自然科学的许多领域中,都会遇到常微分方程的求解问题。
然而,我们知道,只有少数十分简单的微分方程能够用初等方法求得它们的解,多数情形只能利用近似方法求解。
在常微分方程课中已经讲过的级数解法,逐步逼近法等就是近似解法。
这些方法可以给出解的近似表达式,通常称为近似解析方法。
还有一类近似方法称为数值方法,它可以给出解在一些离散点上的近似值。
利用计算机解微分方程主要使用数值方法。
我们考虑一阶常微分方程初值问题⎪⎩⎪⎨⎧==00)(),(yx y y x f dx dy在区间[a, b]上的解,其中f (x, y )为x, y 的已知函数,y 0为给定的初始值,将上述问题的精确解记为y (x )。
数值方法的基本思想是:在解的存在区间上取n + 1个节点b x x x x a n =<<<<= 210这里差i i i x x h -=+1,i = 0,1, …, n 称为由x i 到x i +1的步长。
这些h i 可以不相等,但一般取成相等的,这时na b h -=。
在这些节点上采用离散化方法,(通常用数值积分、微分。
泰勒展开等)将上述初值问题化成关于离散变量的相应问题。
把这个相应问题的解y n 作为y (x n )的近似值。
这样求得的y n 就是上述初值问题在节点x n 上的数值解。
一般说来,不同的离散化导致不同的方法。
§1 欧拉法与改进欧拉法 1.欧拉法1.对常微分方程初始问题(9.2))((9.1) ),(00⎪⎩⎪⎨⎧==y x y y x f dx dy用数值方法求解时,我们总是认为(9.1)、(9.2)的解存在且唯一。
欧拉法是解初值问题的最简单的数值方法。
从(9.2)式由于y (x 0) = y 0已给定,因而可以算出),()('000y x f x y =设x 1 = h 充分小,则近似地有:),()(')()(00001y x f x y hx y x y =≈-(9.3)记 ,n ,,i x y y i i 10 )(== 从而我们可以取),(0001y x hf y y ==作为y (x 1)的近似值。
常微分方程的数值解

f ( x, y1 ) f ( x, y2 ) L y1 y2
(其中 L 为 Lipschitz 常数)则初值问题( 1 )存 在唯一的连续解。
求问题(1)的数值解,就是要寻找解函数在一 系列离散节点x1 < x2 <……< xn < xn+1 上的近似 值y1, y 2,…,yn 。 为了计算方便,可取 xn=x0+nh,(n=0,1,2,…), h称为步长。
(1),(2)式称为初值问题,(3)式称为边值问题。 在实际应用中还经常需要求解常微分方程组:
f1 ( x, y1 , y2 ) y1 ( x0 ) y10 y1 (4) f 2 ( x, y1 , y2 ) y2 ( x0 ) y20 y2
本章主要研究问题(1)的数值解法,对(2)~(4)只 作简单介绍。
得 yn1 yn hf ( xn1 , yn1 )
上式称后退的Euler方法,又称隐式Euler方法。 可用迭代法求解
二、梯形方法 由
y( xn1 ) y( xn )
xn1 xn
f ( x, y( x))dx
利用梯形求积公式: x h x f ( x, y( x))dx 2 f ( xn , y( xn )) f ( xn1 , y( xn1 ))
常微分方程的数言 简单的数值方法 Runge-Kutta方法 一阶常微分方程组和高阶方程
引言
在高等数学中我们见过以下常微分方程:
y f ( x, y, y) a x b y f ( x, y ) a x b (2) (1) (1) y ( x ) y , y ( x ) y 0 0 0 0 y ( x0 ) y0 y f ( x, y, y) a x b (3) y(a) y0 , y(b) yn
哈尔滨工程大学工程算法课件06常微分方程的数值求解

欧拉法得: yn 1 yn hf xn , yn 因此,局部截断误差是 o h 2 。
19
2 改进Euler法
2.1方法构造
dy f x, y ,对其从 xk 到 xk 1 进 在微分方程初值问题 dx 行定积分得:
y xk 1 y xk
yk 1 是未知,待求的,未知量在 f x, y 中这是
一个方程,如f是非线性或超越函数,此方程是无法直接解出来(要 依靠迭代法才能解出)。这类格式称为隐式格式。
21
2.3 算例
y y x 例:用改进欧拉公式求解 , h 0.2 y 0 2 解: f x, y y x h yk 1 yk f xk , yk f xk 1 , yk 1 2 h h 1 2 y 2 x x y k 1 k 1 h k h k 1 1 2 2 可以从隐式格式中解出 yk 1 问题的精确解是 y x e x x 1
16
精确解为: y x 2 x
2
可以看出误差随着计算在积累。
17
1.4 Euler法的特点和误差
迭代格式 特点
1 单步方法:
yn 1 yn hf xn , yn n 0,1, 2,, N 1
2 显示格式: 3 局部截断误差为O h2
18
第六章 常微分方程数值解
§6.0 引言
§6.1 欧拉方法 §6.2 龙格-库塔方法
§6.3 单步法的收敛性和稳定性
§6.4 线性多步法
1
§6.0 引言
1 主要考虑如下的一阶常微分方程初值问题 的求解:
dy f x, y dx y x0 y0
常微分方程数值解法

欧拉方法
总结词
欧拉方法是常微分方程数值解法中最基础的方法之一,其基本思想是通过离散化时间点上的函数值来 逼近微分方程的解。
详细描述
欧拉方法基于微分方程的局部线性化,通过在时间点上逐步逼近微分方程的解,得到一系列离散点上 的近似值。该方法简单易行,但精度较低,适用于求解初值问题。
龙格-库塔方法
总结词
影响
数值解法的稳定性对计算结果的精度和可靠 性有重要影响。
判断方法
通过分析数值解法的迭代公式或离散化方法, 判断其是否具有稳定性和收敛性。
数值解法的收敛性
定义
数值解法的收敛性是指随着迭代次数的增加, 数值解逐渐接近于真实解的性质。
影响
数值解法的收敛性决定了计算结果的精度和 计算效率。
分类
根据收敛速度的快慢,可以分为线性收敛和 超线性收敛等。
判断方法
通过分析数值解法的迭代公式或离散化方法, 判断其是否具有收敛性。
误差分析
定义
误差分析是指对数值解法计算过程中 产生的误差进行定量分析和估计的过 程。
分类
误差可以分为舍入误差、截断误差和 初始误差等。
影响
误差分析对于提高计算精度和改进数 值解法具有重要意义。
分析方法
通过建立误差传递公式或误差估计公 式,对误差进行定量分析和估计。
生物学
生态学、生物种群动态和流行病传播 等问题可以通过常微分方程进行建模
和求解。
化学工程
化学反应动力学、化学工程流程模拟 等领域的问题可以通过常微分方程进 行描述和求解。
经济学
经济系统动态、金融市场模拟和预测 等问题可以通过常微分方程进行建模 和求解。
02 常微分方程的基本概念
常微分方程的定义
第6章常微分方程初值问题的解法

ykh 2 k[ (ykx k 1 ) ( yk 1x k 1 1 )]
yk11 29 1yk1k05110
预估-校正Euler方法:
y k 1 0 .90 y k 5 0 .00 k 9 0 .1 5
20
Euler方法
xk
yk
yk y(xk)
0.0 1.000000
0.0
梯形方法
yk
yk y(xk)
1.000000
0.0
续
预估-校正方法
yk
yk y(xk)
1.000000
0.0
0.1 1.000000 0.2 1.010000
4.8×10-3 8.7×10-3
1.004762 1.018594
y(0) 1
其解析解为: y1xe-t2dt x[0,1] 0 很难得到其解析解
4
例如:
y=x+y , x[0,1]
y(0) 1
其解析解为 yx12ex
只有一些特殊类型的微分方程问题能够得到用解析表达式 表示的函数解,而大量的微分方程问题很难得到其解析解。
因此,只能依赖于数值方法去获得微分方程的数值解。
例如:
y=x+y , x[0,1]
y(0) 1
其解析解为:yx12ex
3
但是, 只有一些特殊类型的微分方程问题能够得到用解析 表达式表示的函数解,而大量的微分方程问题很难得到其解 析解。
因此,只能依赖于数值方法去获得微分方程的数值解。
例如:
y =e-x2 ,
x[0,1]
7.5×10-5 1.4×10-4
常微分方程数值解法ppt课件

若存在正的常数 L 使:
(Lipschitz)条件
|f( x ,y 1 ) f( x ,y 2 ) | L |y 1 y 2 | ( 1 .3 )
使 得 对 任 意 的 x [ a , b ] 及 y 1 ,y 2 都 成 立
则称 f (x,y) 对y 满足李普希兹条件,L 称为 Lipschitz常数.
节点 x i a i h i , 一 般 取 h i h ( ( b a ) / n ) 即 等 距
要计算出解函数 y(x) 在一系列节点
ax 0x 1x nb
处的近似值 y y(x ) i 完整版PPT课件i
16
yf(x,y) axb (1 .1 )
y(x 0) y0
(1 .2 )
对微分方程(1.1)两端从 xn到 xn1 进行积分
在大量的实际方程中出现的函数起码的连续性都 无法保证,更何况要求阶的导数
求解数值解
很多微分方程 根本求不到 问题的解析解!
重要手段。
完整版PPT课件
7
5.常微分方程数值解法的特点 常微分方程的数值解法常用来求近似解
根据提供的算法 通过计算机
数值解法得到的近似 解(含误差)是一个 离散的函数表.
便捷地实现
欧拉方法的导出把区间ab分为n个小区间步长为要计算出解函数yx在一系列节点iiyyx?iiixaihhhban?????一般取即等距节点处的近似值01naxxxb?????1iiihxx??nn等分001112yfxyaxbyxy????????对微分方程11两端从1nnxx?到进行积分11nnnnxxxxydxfxyxdx??????11nnxnnxyxyxfxyxdx?????右端积分用左矩形数值求积公式22baggxdxbagaba???????gxfxyx?令11nnnnxxnnfxyxnnyyfxyxh??????得x0x11nnnnnnyxyxhyxyhfxy??????1
常微分方程数值解法课件

根据选择的步长,确定当 前时刻的数值解的近似值 。
重复上述步骤,直到达到 所需的时间积分区间终止 点。
龙格-库塔方法的误差分析
误差主要来源于时间步长 的离散化,步长越小,误 差越小。
龙格-库塔方法的收敛性 和稳定性取决于所选步长 和步数。
ABCD
机械工程
在机械工程中,机构的动力学行为可以用常微分方程来描 述,如机器人的运动轨迹、机械臂的姿态等,通过数值解 法可以模拟这些机构的运动。
在金融问题中的应用
股票价格模拟
股票价格的变化可以用常微分方程来描述,通过数值解法可以模 拟股票价格的走势,预测未来的股票价格。
期货价格模拟
期货价格的变化也可以用常微分方程来描述,通过数值解法可以 模拟期货价格的走势,预测未来的期货价格。
可以通过增加步数来减小 误差,但会增加计算量。
在实际应用中,需要根据 具体问题选择合适的步长 和步数,以达到精度和计 算效率的平衡。
05
数值解法的应用
在物理问题中的应用
计算物体运动轨迹
通过数值解法求解常微分方程,可以模拟物体的运动轨迹,如行星 运动轨迹、炮弹弹道等。
模拟振动系统
在物理中,许多系统可以用常微分方程来描述,如弹簧振荡器、电 磁振荡器等,通过数值解法可以模拟这些系统的振动行为。
终止条件
当达到预设的精度或迭代次数时,停止迭代并输出结果。
欧拉方法的误差分析
截断误差
由于欧拉方法使用离散化近似 ,因此存在截断误差。这种误 差的大小取决于步长$h$的选
择。
稳定性
欧拉方法对于某些微分方程可 能是不稳定的,这意味着随着 迭代的进行,解可能会发散或
第六章 常微分方程解法

§6.1 概述
常微分方程数值解法所考虑的主要问 题有:
(1) 方法推导。即用什么样的途径来导出 递推格式; (2) 收敛性。即差分方程的解能否充分逼 近微分方程初值问题的解; (3) 误差传播。在递推过程中,每一步 都会产生截断误差和舍入误差,这个误 差是否对后续各步产生严重影响。
第六章 常微分方程的数值解法
§6.4 改进欧拉方法
(modified Euler’s method)
§6.4 改进欧拉方法
梯形方法比欧拉方法更精确,但是一 种隐式方法,求解方程计算量大。 实际计算中,迭代初始值yn+1可取欧拉 方程结果,迭代一次即可,这样的计算 公式叫改进欧拉法。
§6.4 改进欧拉方法
§6.1 概述 理论做了系统阐述。在代数数论领域,他引进了相 应的符号表示法及其计算法则,建立起被称为“李 普希兹代数”的超复数系。在微分几何方面,他自 1869年起对黎曼关于n维流形的度量结构的工作做 出进一步阐述和推广,开创了微分不变量理论的研 究,因此被认为是协变微分的奠基人之一。他的工 作后来被里奇有效地用于张量分析。
§6.1 概述
本章我们将学习一阶常微分方程的初 值问题的数值解:
dy f ( x, y ) dx y ( x0 ) y0 (1) (2)
一般情况下,方程(1)有无穷多个解, 式(2)是确定解的初始条件。
§6.1 概述
定义: 如果一元函数y(x)对一切 a x b 满足 (1) ( x, y( x)) 平面区域D
计算方法 (力学系本科生)
第六章 常微分方程 的数值解法 (Integration of ordinary differential equations)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求y解
例如,受连续分布横向荷载的变截面简支梁弯曲问题
d2w
dx2
M(x) EI(x)
w(0) w(l) 0
q(x)
O
x
w
l
其中 w(x), — 挠度 E(Ix, )— 弯曲,l刚 —度 简支梁
●2. 初值问题
y f (x, y)
y(x0
)
y0
yf(x,y,y) y(x0)y0,y(x0)y0
第六章 常微分方程的数值解法
.
本章内容
§6.1 引言 §6.2 欧拉方法 §6.3 龙格—库塔方法 §6.4 边值问题的数值方法
§6.1 引言
一. 问题提出
有一个或多个导数及其函数的方程式称为微分 方程,在工程中常遇到求解微分方程的问题。
如,一阶常微分初方值程问的题 dy f(x,y) x[a,b] dx y(x0)y0
h
xi1
x
,有
i
xi x0 ih (i 0,1,2, , n )
§6.1 引言
即解函 y(x数 )在一些离散点
x0 x1x2 xn xn1
上的值y(x1) 的近似解
y(x2)yy1(yx2n ) y(yxnny1n)1yn
y(xn)
y
y f (x)
y0
x
x
x
x
x
h
x
0 x0
§6.1 引言
初值问题的数 点值 :解 按法 节特 点顺 进序 ,依 由次
知的 0,yy1,,y, i 求i出 1 ,y这可以通过 得递 到推 。
初值 问题
的 常见 解法
单步法: 利用前一个单步的信息(一个点),在y=f(x)
上找下一点yi, 有欧拉法,龙格-库格法。
预测校正法: 多步法,利用一个以上的前点信息求f(x)上
例如,单自由度系统的非线性受迫振动
m
d2x dt 2
c
dx dt
kx
x3
P(t)
x(0)
x0,ddxt
x x0
x0
x
m P (t)
实际问题中还存在初边值混合问题,如梁在横向激励下的 弯曲振动。
高阶常微分方程可以化成一阶的常微分方程组
y f (x, y)
y(x0
)
y0
只要函数 f ( x, y)适当光滑连续, 且关于 y满足李普希兹 ( Lipschitz )条件, 即存在常数 L,使得
2.00
0.40419
0.00
0.00000
0Hale Waihona Puke 400.352870.80
0.50049
1.20
0.50073
1.60
0.45425
2.00
0.40227
真值y(xi)
0.00000 0.34483 0.48780 0.49180 0.44944 0.40000 0.00000 0.34483 0.48780 0.49180 0.44944 0.40000 0.00000 0.34483 0.48780 0.49180 0.44944 0.40000
误差y(xi)-yi
0.00000 -0.03148 -0.05448 -0.03529 -0.01689 -0.00682 0.00000 -0.01603 -0.02590 -0.01781 -0.00928 -0.00419 0.00000 -0.00804 -0.01268 -0.00892 -0.00481 -0.00227
的下一个yi, 常用迭代法,如改进欧拉法,阿当姆斯法。
§6.2 欧拉方法及其改进 Euler’s Method
内容
一. 欧拉格式 二. Euler预估—校正法 三. 误差估计、收敛性和稳定性
§6.2 欧拉方法及其改进
6.2.1 欧拉公式:/* Euler’s Method */
向前差商近似导数
推进Pn1(xn1, yn1, ) 显然两个顶点P, n Pn1的坐标有关系
yn1 - yn xn1 - xn
f (xn, yn),
即yn1 yn hf (xn, yn)
这就是欧拉(Euler)公式。
y
y y(x)
P2 P3 P4 Pn
P1
P0
x O
§6.2 欧拉方法及其改进
例:利用 Euler 方法求初值问题
y
1 1 x2
2 y 2,0
x
2
y (0 ) 0
的数值解,此问题的精 确解是 y ( x ) x /( 1 x 2 )。
解:此时的 Euler 公式为
y
i
1
1
yi
h( 1
x
2 i
2
y
2 i
)
y 0 0 , i 0,1,2
分别取步长 h 0.2,0.1,0.05,计算结果如下表:
y(x0)y(x1) hy(x0)
记为
y ( x 1 ) y ( x 0 ) h y ( x 0 ) y 0 h f ( x 0 ,y 0 ) y 1
y i 1 y i h f ( x i,y i)( i 0 ,.,. n . 1 )
几何意义:折线逼近解y y(x)曲线。
设已做出折线的顶点P, n 过Pn(xn, yn)依方向场的方向再
§h7.2 h=0.2 h=0.1 h=0.05
欧xi拉方法 yi
0.00
0.00000
0.40
0.37631
0.80
0.54228
1.20
0.52709
1.60
0.46632
2.00
0.40682
0.00
0.00000
0.40
0.36085
0.80
0.51371
1.20
0.50961
1.60
0.45872
解函数yy(x)
§6.1 引言
二. 两类定解问题
◆常微分方程的定解问题有两种基本类型类:初值问题 和边值问题
◆定解指已知因变量和/或其导数在某些点上是已知的 (约束条件)。
●1. 边值问题
约束条件为已知,在自变量的任一非初值上,已知 函数值和/或其导数值,如
yf(x,y,y) x [a,b]
y(a),y(b)
§6.2 欧拉方法及其改进
6.2.2 数值解法的截断误差估 计
f (x, y) f (x, y) L y y 由常微分方程理论知:
初值问题的解必存在且 唯一。
§6.1 引言
求精确解一般较为, 困求 难近似解 近似解析解 数值解(适合于计计 算算 机)
很多微分方程的解不能用初等函数来表示,有时 即使能够用解析式表示其解,但计算量太大而不实 用(表达式过于复杂)。
需要用数值方法来求解,一般只要求得到若干个 点上的近似值或者解的简单的近似表达式(精度要求 满足即可)。
§6.1 引言
y f (x, y)
y
(
x
0
)
y0
式 1
数值解 :
在
a x0 x1 xn b,
得到 y ( xi )的近似值 y i (i 0,1,2, , n )。
通常取等距节点,即