数学 - 微分方程数值解 - 第 1 章 一阶常微分方程初值问题 - 1.3 龙格法

1.3 Runge - Kutta 法

1.3.1 RK 方法的构造

一般地,RK 方法设近似公式为:

(1.3.1){yn+1=yn+hi=1pciKiK1=f(xn,yn)Ki=f(xn+hai,yn+hj=1i1bijKj)(i=1,2,,p)

上式中 aibijci 都是参数。确定它们的原则是使近似公式在 xn 处的 Taylor 展开式与 y(x)xn 处的 Taylor 展开式的前面的项尽可能多地重合,使之具有尽可能高阶的局部截断误差。

1.3.1 二阶 RK 公式

p=2 时,近似公式为:

(1.3.2){yn+1=yn+hc1K1+c2K2K1=f(xn,yn)K2=f(xn+ha2,yn+hb21K1)

计算局部截断误差时,为方便书写,此处令 yn+1=y(xn+1)yn=y(xn)。上式在 (xn,yn) 处的 Taylor 展开式为

(1.3.3)yn+1=yn+h[c1f(xn,yn)+c2f(xn+ha2,yn+hb21K1)]=yn+h{c1f(xn,yn)+c2[f(xn,yn)+a2hfx(xn,yn)+b21hfy(xn,yn)f(xn,yn)]}+O(h3)=yn+(c1+c2)f(xn,yn)h+c2[a2hfx(xn,yn)+b21hfy(xn,yn)f(xn,yn)]h2+O(h3)

y(xn+1)xn 处的 Taylor 展开式为:

(1.3.4)y(xn+1)=y(xn)+hy(xn)+h22y(xn)+O(h3)=yn+f(xn,yn)h+h22[fx(xn,yn)+fy(xn,yn)f(xn,yn)]+O(h3)

注意,式 (1.3.3) 和式 (1.3.4) 中的 fx 表示函数 f(x,y)x 的一阶导数。

要使近似公式 (1.3.2) 的局部截断误差为 O(h3),则应要求式 (1.3.3) 和式 (1.3.4) 的前三项相同,于是有

(1.3.5){c1+c2=1c2a2=12c2b21=12

(1.3.5) 有无穷多组解,它的每一组解代入式 (1.3.2) 中得到的近似公式,局部截断误差均为 O(h3),故这些方法都为二阶方法。

如果我们取 c1=c2=1/2a2=b21=1,可得改进 Euler 公式:

(1.3.6){yn+1=yn+h2(K1+K2)K1=f(xn,yn)K2=f(xn+h,yn+hK1)

如果我们取 c1=0c2=1a2=b21=1/2,可得中点公式

(1.3.7){yn+1=yn+hK2K1=f(xn,yn)K2=f(xn+h/2,yn+K1h/2)

理论上可以证明,无论怎样选取参数,式 (1.3.2) 都不可能具有更高的精度,最多只能得到二阶公式。

1.3.2 三阶 RK 公式和四阶 RK 公式

类似地,对 p=3p=4 可以类似地推导,得到三阶和四阶 RK 公式,其中常用的三阶 RK 公式为

(1.3.8){yn+1=yn+h6(K1+4K2+K3)K1=f(xn,yn)K2=f(xn+h2,yn+h2K1)K3=f(xn+h,ynhK1+2hK2)

常用的四阶 RK 公式为

(1.3.9){yn+1=yn+h6(K1+2K2+2K3+K4)K1=f(xn,yn)K2=f(xn+h2,yn+h2K1)K3=f(xn+h2,yn+h2K2)K4=f(xn+h,yn+hK3)

(1.3.9) 也被称为经典形式四阶 RK 公式

1.3.3 RK 公式说明

p=1,2,3,4 时,RK 公式的局部截断误差的最高阶数恰好是 p,当 p>4 时,RK 公式的局部截断误差的最高阶数不是 p,如 p=5 时,RK 公式的最高阶数仍为 4,如 p=6 时,RK 公式的最高阶数为 5

值得注意的是,RK 方法的导出基于 Taylor 展开,故它要求所求问题的解具有较高的光滑度。当解充分光滑时,四阶 RK 方法优于改进 Euler 方法;如果解的光滑性较差,则用四阶 RK 方法求数值解的效果可能不如改进 Euler 方法。

1.3.4 变步长 RK 方法

posted on   Black_x  阅读(203)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示