7常微分方程初值问题解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
yk 1
yk
h 2 [ f (xk , yk )
f (xk1, yk1 )]
如果将其改成
h
yk1 yk 2 (K1 K 2 )
K1 f (xk , yk )
----------(1)
K 2 f (xk1, yk hK1 )
y0 y(x0 )
18
改进Euler法是由梯形公式和Euler公式复合而成 梯形公式具有2阶精度
8
4 后退的欧拉方法
(5)
9
(6)
(6)式称为后退的欧拉方法,它是隐式的, 欧拉公式(2)是显式的,
10
(7)
11
12
后退的欧拉方法的局部截断误差:
13
5 梯形方法
(8)
(8)式称为梯形方法.
14
梯形方法的局部截断误差:
15
6. 改进欧拉法及局部截断误差
(1)改进的欧拉公式:
预测步
~yn1 yn hf xn, yn
j 1
i 2,3, , r
i 1
i ij j 1
确定了阶数之后,再通过Taylor展开、比较两边系数的方
法,确定各待定系数: ci , i , ij
21
➢二阶显式Runge-Kutta方法
22
23
24
25
例 求解初值问题ODE : dy y2 , dx 易知其精确解为:y 1 .
yn1 yn 0.1 2 yn2 yn 3 0.1 yn2 2 2 3
26
结果及比较
27
➢三阶显式Runge-来自百度文库utta方法
在推导二阶显式方法的过程中,注意到局部截断误差表达式中h3项包 含了以下表达式:
Yn Ftt(tn,Yn ) 2FtY(tn,Yn )Fn FYY (tn,Yn )Fn2 FY(tn,Yn ) Ft(tn,Yn ) FY(tn,Yn )Fn
校正步
yn1
yn
h 2
f
xn , yn
f
xn1, ~yn1
或者写成
yp yc
yn yn
hf hf
xn , yn
xn1, y
p
yn1
1 2
yp yc
16
(2)改进的欧拉方法的局部截断误差
17
7.2 Runge-Kutta法
考虑改进Euler法
yk 1 yk hf (xk , yk )
0.3 1.340141 1.325766 1.340141 5.48E-7 1.44E-2
0.4 1.468175 1.443671 1.468175 7.69E-7 2.45E-2
c1 c2 c3 1
2 21
c232
c222
31 32
c33
1 2
c332
1 3
c32 32
1 6
6个 方 程 要 决 定8个 未 知 数 , 解 不 唯 一 。 因 此 可 以 得 到 众 多 公 式, 它 们 统 称 为 三 阶Runge Kutta公 式 。 特 别 地 , 一 个 常 见 的 公 式 称 为Kutta三 阶 公 式 , 如 下 :
Yn1
Yn
h 6
K1 2K2 2K3 K4
K1
F (tn ,Yn )
K2 K3
F (tn F (tn
1
2 1
2
h, h,
Yn Yn
h
2 h
2
K1 ) K2)
K4
F (tn
h,
Yn
hK3 )
30
例 求解初值问题ODE : dy y x2 , y(0) 1.
dx 易知其精确解为:y 2 2x x2 ex
因此若要在局部截断误差中消去h3项,必须增加包含了以上各项的多
个方程,同时我们注意到r=2时,只有 c1,2 , 1,等2四1 个待定系数,少 于方程的数目,所以这样的系数不存在。故: r=2时Runge-Kutta方 法只能是二阶的。要得到三阶的方法,则必须有r=3。
Yn1 Yn h(c1K1 c2K2 c3K3 )
K1 K2
F (tn ,Yn )
F (tn 2h,
Yn
21hK1 )
K3 F (tn 3h, Yn 31hK1 32hK2 )
其 局 部 截 断 误 差 为 :d n1
Y
(tn 1 )
Y
(tn )
h(c1K1
c2 K2
c3
K3
).
28
➢三阶显式Runge-Kutta方法
将K2 , K3以及Y (tn1)作Taylor展开,使得dn1 O(h4 ), 可 得 待 定 系 数 满 足 的 方程 如 下 :
Yn1
K1
K2
h Yn 6 (K1 F (tn ,Yn )
h F (tn 2 , Yn
4K2 K3) h
2 K1)
K3 F (tn h, Yn hK1 2hK2 )
29
➢四阶显式Runge-Kutta方法
类似前面的推导,可以导出各种四阶的Runge Kutta公式,它们 的局部截断误差满足dn1 O(h5 )。下面列出最常见的一个:
同样可以证明,改进Euler法也具有2阶精度。 (1)式为一种二阶Runge-Kutta法
19
➢Runge-Kutta方法的推导
20
Runge-Kutta方法的一般形式:
r
yn1 yn h ci Ki
i 1
K1 f (xn , yn )
,
i 1
Ki F (xn i h, yn h ij K j )
第7章 常微分方程初值问题数值解法
7.1 引 言
1
本章研究的问题:
2
• 7.1 欧 拉 方 法及改进的欧拉法 • 7.1.1 欧拉公式
图7.1 欧拉折线法
3
1 欧拉公式
(2) (3)
4
5
2 欧拉公式的截断误差
(4)
6
3 单步法的局部截断误差与 阶
局部截断误差可以理解为计算一步的误差.
7
则称该方法具有P阶精度.
1 x
y(0) 1.
步长都取为 h 0.1 分别用以下两种系数:
1. a 1 ,改进的Euler 法: 2
c1
c2
1 2
,
2 21 1.
积分公式:
yn1 yn 0.1 yn2 yn 0.1 yn2 2 2
2. a 1 , 3
c1
2 3
,
c2
1, 3
2
21
3. 2
积分公式:
步长都取为 h 0.1 分别用二阶、四阶R K方法求解:
x
四阶 二阶 真解 四阶误差 二阶误差
0.0 1.000000 1.000000 1.000000 0.0000 0.000000
0.1 1.104829 1.102450 1.104829 1.60E-7 2.38E-3
0.2 1.218597 1.211507 1.218597 3.40E-7 7.09E-3