关于龙格-库塔法
这是一个用于探索数值龙格-库塔法的互动工具。该方法用于近似求解微分方程,在科学和工程领域的各种问题求解中非常强大。
考虑以下微分方程:
\( y' = f(x, y) \) 其中 \( y(x_0) = K \)(初始值)
我们希望在区间 \( [a, b] \) 上近似求解。我们将该区间划分为 \( n \) 个大小为 \( h \) 的较小区间。四阶龙格-库塔法提供的近似公式如下:
设 \( y_0 = K \)(起始值)
\( y_{i+1} = y_i + \frac{1}{6}[k_1 + 2k_2 + 2k_3 + k_4] \) 对于 \( i = 0, 1, \dots, n-1 \)
其中:
\( k_1 = h \cdot f(x_i, y_i) \)
\( k_2 = h \cdot f(x_i + \frac{h}{2}, y_i + \frac{k_1}{2}) \)
\( k_3 = h \cdot f(x_i + \frac{h}{2}, y_i + \frac{k_2}{2}) \)
\( k_4 = h \cdot f(x_i + h, y_i + k_3) \)
\( y_{i+1} = y_i + \frac{1}{6}[k_1 + 2k_2 + 2k_3 + k_4] \) 对于 \( i = 0, 1, \dots, n-1 \)
其中:
\( k_1 = h \cdot f(x_i, y_i) \)
\( k_2 = h \cdot f(x_i + \frac{h}{2}, y_i + \frac{k_1}{2}) \)
\( k_3 = h \cdot f(x_i + \frac{h}{2}, y_i + \frac{k_2}{2}) \)
\( k_4 = h \cdot f(x_i + h, y_i + k_3) \)
局部截断误差的阶数约为 \( O(h^5) \),并且原则上随着 \( h \) 的减小而减小。
本演示中使用的方程
- \( y' = x^2 \),\( y(0) = 1 \),精确解:\( y = \frac{x^3}{3} + 1 \)
- \( y' = x^4 \),\( y(0) = 1 \),精确解:\( y = \frac{x^5}{5} + 1 \)
- \( y' = e^x \),\( y(0) = 1 \),精确解:\( y = e^x \)
- \( y' = \frac{1}{1+x} \),\( y(0) = 1 \),精确解:\( y = \ln(1+x) + 1 \)
教程
本演示中的所有微分方程都具有相同的初始值 \( y(0) = 1 \) 且提供精确解以供对比。
- 选择第一个微分方程 \( y' = x^2 \)。初始时,\( h = 1.25 \) 且 \( n = 8 \)。
- 在图表上查看精确解(蓝色曲线)和近似解(红色点)。
- 通过增加 \( n \) 来减小 \( h \)(或直接减小 \( h \)),并观察近似效果如何改善。
- 选择其他微分方程并分析结果。
- 对比图表下方表格中的精确值和近似值。
龙格-库塔法计算器
结果
精确解与龙格-库塔法近似值的对比:
| 步数 (i) | xᵢ | 近似值 yᵢ | 精确值 y(xᵢ) | 误差 | k₁ | k₂ | k₃ | k₄ |
|---|
更多资源
有关微分方程的更多参考资料: