https://github.com/gustavdelius/NumericalAnalysis2024/blob/74346bc0aa2135002f67432223a11aa4718e7a80/nmODE.qmd#L4
本章主要介绍了常微分方程(ODE) 的数值解法,重点讨论了如何通过数值方法近似求解初始值问题(IVP)和边界值问题(BVP)。由于许多微分方程无法通过解析方法求解,数值方法成为了解决这些问题的关键工具。以下是本章的主要内容总结:
-
常微分方程简介:
- 常微分方程是描述函数及其导数之间关系的方程。通常,微分方程的解不唯一,需要通过初始条件或边界条件来确定唯一解。
- 初始值问题(IVP)和边界值问题(BVP)是两类常见的微分方程问题,分别通过初始条件和边界条件来确定解。
-
数值解法的基本思想:
- 数值解法的目标是通过离散化时间域,逐步逼近微分方程的解。常见的数值解法包括欧拉法、中点法和龙格-库塔法等。
- 数值解法的核心思想是通过近似导数,逐步推进解的计算。
-
欧拉法(Euler’s Method):
- 欧拉法是最简单的数值解法,通过当前点的斜率来近似下一个点的解。其公式为:
x n + 1 = x n + h f ( t n , x n ) x_{n+1} = x_n + h f(t_n, x_n) xn+1=xn+hf(tn,xn)
其中,( h ) 是时间步长,( f(t_n, x_n) ) 是微分方程的右端函数。 - 欧拉法的误差阶数为 ( \mathcal{O}(h) ),适用于简单的微分方程,但在高曲率区域误差较大。
- 欧拉法是最简单的数值解法,通过当前点的斜率来近似下一个点的解。其公式为:
-
中点法(Midpoint Method):
- 中点法通过在当前点进行半步推进,计算中点处的斜率,然后使用该斜率进行全步推进。其公式为:
- 中点法通过在当前点进行半步推进,计算中点处的斜率,然后使用该斜率进行全步推进。其公式为: