常微分方程数值解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
二阶龙格-库塔方法(续1)
• 要使二阶方法的局部截断误差为 O(h3 ) ,四个系
数值应满足下列关系式:
c1 c2 1 ;
1 c2a2 2
;
b21 1 a2
20
二阶龙格-库塔方法(续2)
• 特例1:
令a2 1,则c1
c2
1 2
; b21
1
yn 1
yn
1 2 k1
1 2 k2
k1 hf ( xn , yn )
xn h xn
f (t, y(t))dt
xn h xn
f (t, y(t))dt hf ( xn , y( xn ))
8
Euler方法(续)
• 数值积分方法
y(xn h) y(xn )
xn h xn
f (t, y(t))dt
hf (xn, y(xn )) (看成矩形)
yn1
yn hf (xn y0 y(x0 )
y(xn1) y(xn)
xn1 f (x, y(x))dx
xn
(n 0,1, 2,L )
这样,求原初值问题式的解,转化为求问题式
的解,利用各种求积公式就可以得到一些求 y(xn )
的近似公式。
6
Euler 方法(推导2)
• 差商方法
y / f ( x, y) y( xn1) y( xn )
3
问题的提出(续1)
初值问题
y/ f (x, y)
y(x0 )
y0
求:精确解 y(x)在节点
x1 x2 xn ,处的 近似解:y1 , y2 , y3 , yn ,
4
问题的提出(续2)
• 相邻两节点间的距离 hn xn1 xn 称为步长,通
常在计算上采用相等的步长 hn h ,这时等距
k2
hf
( xn
h,
yn
k1)
这就是前面讲的改进的尤拉法。
21
二阶龙格-库塔方法(续3)
• 特例2:
令c1
0 ,c2
1,a2
1 2
; b21
1 2
yn1 yn k2
k1 hf ( xn , yn )
k2
hf ( xn
1 2
h,
yn
1 2
k1 )
该式称为中点方法,也
称为变形的尤拉法。
h
y(x0 ) y0
yn1
yn y(x0 )
hf
( xn y0
,
yn
)
7
Euler方法
• 数值积分方法
y / f ( x, y( x)在[x, x h]上积分,

xh
y( x h) y(x) f (t, y(t))dt
x
当x xn时,有
y(xn h) y(xn )
dy
dx
f (x, y),
y(x0 ) y0 ,
的数值解法。对高阶方程和微分方程组的数值解,
其基本思想是完全一样的.解初值问题有多种解
析方法,但解析法只能对一些特殊类型的方程才
能求出其准确解,多数情况只能用近似方法求解。
初值问题的数值解法,就是寻求方程的解 y(x)
在自变量 x 的一系列离散节点上的近似值。
22
三阶龙格-库塔方法
类似地,对p 3,即三个点,通过更复杂的计算, 可导出三阶RK公式。
常用的三阶RK公式为:
yn
1
第十二讲 常微分方程数值解法
1
第十二讲主要知识点
• 欧拉(Euler)方法、向后欧拉法、梯形法及梯形 法的预估校正法
• 欧拉法的收敛性 • 龙格-库塔方法、线性多步法、预估-校正法*。 • 一阶微分方程组与高阶微分方程的数值解法*
2
问题的提出
在解决科技领域的实际应用问题时,常微分方程求解 是常见的。本章着重讨论一阶方程初值问题
yn1
y n1
yn
h 2
yn hf (xn, yn ) [ f (xn , yn ) f (xn1, y0 y(x0)
y n 1 )]
14
改进的Euler方法(续1)
• 嵌套形式
yn1
yn
h[ 2
f
( xn ,
yn )
f
( xn1,
yn
hf (xn,
yn ))]
yn1
15
改进的Euler方法(续2)
ຫໍສະໝຸດ Baidu
y0 y(x0 )
12
梯形公式(续)
• 梯形公式(见上页),实际上是Euler方法和隐式 Euler方法的算术平均。
• 梯形公式的精度为二阶。 • 例:用梯形公式求下列初值问题的解在
x 0.01上的值y(0.01).
dy y , y(0) 1 dx
13
改进的Euler方法
• 改进的Euler方法为Euler方法和梯形公式的结合, 也称作预估---校正法。
节点 xn x0 nh ,n 0,1, 2,L .
• 初值问题的数值解法的基本特点是:求解过程是 顺着节点排列的顺序一步一步的向前推进,即按
递推方法由已知的 y0 , y1,L , yn 求出 yn1 。所
以,初值问题的数值解法就是建立这种递推公式。
5
问题的提出(续3)
将微分方程两端从 xn 到 xn1 积分,得
平均化形式
yn1
yn
h 2
(k1
k2 )
k1 f ( xn , yn )
k2 f ( xn1, yn1) f ( xn1, yn hf ( xn , yn )) f ( xn1, yn hk1)
16
局部截断误差
• 称一种数值方法是p阶的,如果其局部截断误差
为 O(h p1) 。
• Euler方法和隐式Euler方法的精度是一阶的。 • 二步Euler方法的精度是二阶的。
,
yn
)
9
隐式Euler方法
• 向后差商
y / f ( x, y) y( xn1) y( xn )
h
y(x0 ) y0
yn1
yn hf ( xn1, y(x0 ) y0
yn1 )
10
二步Euler方法
• 中心差商
y / f ( x, y) y( xn1) y( xn1)
17
龙格-库塔方法
• 改进的Euler方法也可写成
y n 1
yn
k1 2
k2 2
k1 hf ( xn , yn )
k2 hf ( xn h, yn k1 )
18
二阶龙格-库塔方法
yn1 yn c1k1 c2k2 k1 hf ( xn , yn ) k2 hf ( xn a2h, yn b21k1)
2h
y(x0 ) y0
y n 1
y n 1 y( x0
hf (xn ) y0
,
yn
)
11
梯形公式
y(xn h) y(xn )
xn h xn
f (t, y(t)dt
h[ 2
f
(xn ,
y(xn )
f
( xn1,
y( xn1)]
yn
1
yn
h 2
[
f
(
xn
,
yn
)
f ( xn1, yn1)]
相关文档
最新文档