07-2-数值方法


第 2 讲:数值方法

1. 三种研究方法

微分方程的研究包括:

  1. 解析、精确和符号方法;
  2. 定性方法,如方向场与等斜线;
  3. 数值方法。

即使方程能符号求解,仍需计算具体数值。例如, 是初值问题

的解在 处的值。要得到

最终仍需要数值计算。

本讲以

为例估计 。该解进入上一讲的漏斗,故当 很大时接近 ;数值解给出

2. 欧拉法

在点 处,令

切线近似为

本例在

若直接取 ,会得到

误差很大。改进办法是使用较小步长,并在每一步重新读取方向场斜率。

对初值问题

欧拉递推公式为

这里 的近似值,而不是精确值。连接各近似点的折线称为欧拉多边形。

步长

对于

0 0
1
2

不同步长的结果为:

步长 的估计
数值“真值”

3. 误差来源

舍入误差累积

每一步计算都有小的舍入误差,步数越多,累积误差越多。因此,减少步数有利于控制舍入误差;但减小步长又能使折线更贴近真实解,两者之间存在权衡。

截断误差

欧拉折线不是真实解。方向场变化越快,折线顶点处采用的斜率与真实解上的斜率偏离得越快,误差可能迅速增大。

可用二阶导数判断局部偏差方向。由

得到

处,

真实解向下凹,因此切线位于曲线上方,欧拉估计偏大。一般而言,在单步局部范围内:

  • :欧拉估计偏高;
  • :欧拉估计偏低。

4. 方法的阶

对于足够小的 ,欧拉法全局误差至多为

所以称为一阶方法。这里的“一阶”与“一阶微分方程”无关。

5. 改进欧拉法(RK2/Heun 法)

先用起点斜率走出一条欧拉预测步,再在预测终点读取斜率,最后使用两个斜率的平均值:

本例从 出发、取

欧拉预测点为

该点斜率为

平均斜率为

RK2 的误差阶为

6. 四阶龙格—库塔法

RK4 每一步读取方向场四次,再综合决定前进方向。其误差约为

每次斜率计算都有成本,因此比较效率时应固定斜率计算总次数。对

估计 ,若都使用 1000 次斜率计算:

方法 步长 误差
欧拉法(RK1)
Heun 法(RK2)
RK4

对应误差常数约为

在需要较高精度时,RK4 通常是计算成本和精度之间很好的折中。

7. 与数值积分的联系

对于

精确解为

此时:

  • 欧拉法对应左端点黎曼和;
  • RK2 对应梯形法则;
  • RK4 与辛普森法则相联系。

8. 灾难性越界

若步长过大,欧拉折线可能跨越方向场中的漏斗边界,产生“灾难性越界”,随后误差迅速爆炸。实际微分方程求解器会采用更谨慎的策略,例如在方向场陡峭或变化快的区域自动减小步长。


文章作者: Gustavo
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 Gustavo !
评论
  目录