第 2 讲:数值方法
1. 三种研究方法
微分方程的研究包括:
- 解析、精确和符号方法;
- 定性方法,如方向场与等斜线;
- 数值方法。
即使方程能符号求解,仍需计算具体数值。例如,
的解在
最终仍需要数值计算。
本讲以
为例估计
2. 欧拉法
在点
切线近似为
本例在
若直接取
误差很大。改进办法是使用较小步长,并在每一步重新读取方向场斜率。
对初值问题
令
欧拉递推公式为
这里
步长
对于
| 0 | 0 | |||
| 1 | ||||
| 2 | — | — |
不同步长的结果为:
| 步长 | |
|---|---|
| 数值“真值” |
3. 误差来源
舍入误差累积
每一步计算都有小的舍入误差,步数越多,累积误差越多。因此,减少步数有利于控制舍入误差;但减小步长又能使折线更贴近真实解,两者之间存在权衡。
截断误差
欧拉折线不是真实解。方向场变化越快,折线顶点处采用的斜率与真实解上的斜率偏离得越快,误差可能迅速增大。
可用二阶导数判断局部偏差方向。由
得到
在
真实解向下凹,因此切线位于曲线上方,欧拉估计偏大。一般而言,在单步局部范围内:
:欧拉估计偏高; :欧拉估计偏低。
4. 方法的阶
对于足够小的
所以称为一阶方法。这里的“一阶”与“一阶微分方程”无关。
5. 改进欧拉法(RK2/Heun 法)
先用起点斜率走出一条欧拉预测步,再在预测终点读取斜率,最后使用两个斜率的平均值:
本例从
欧拉预测点为
该点斜率为
平均斜率为
RK2 的误差阶为
6. 四阶龙格—库塔法
RK4 每一步读取方向场四次,再综合决定前进方向。其误差约为
每次斜率计算都有成本,因此比较效率时应固定斜率计算总次数。对
估计
| 方法 | 步长 | 误差 |
|---|---|---|
| 欧拉法(RK1) | ||
| Heun 法(RK2) | ||
| RK4 |
对应误差常数约为
在需要较高精度时,RK4 通常是计算成本和精度之间很好的折中。
7. 与数值积分的联系
对于
精确解为
此时:
- 欧拉法对应左端点黎曼和;
- RK2 对应梯形法则;
- RK4 与辛普森法则相联系。
8. 灾难性越界
若步长过大,欧拉折线可能跨越方向场中的漏斗边界,产生“灾难性越界”,随后误差迅速爆炸。实际微分方程求解器会采用更谨慎的策略,例如在方向场陡峭或变化快的区域自动减小步长。