跳转至

7.4.1 Euler's Method 基本原理

理解欧拉方法的核心思想:利用切线近似和线性逼近,将微分方程的解转化为递推关系

定义

欧拉方法(Euler's Method)是一种数值求解微分方程初值问题的基本方法。其核心思想是利用微分方程在某点的切线来近似曲线,通过递推关系逐步逼近微分方程的解。

给定微分方程 \(\frac{dy}{dx} = f(x, y)\) 和初始条件 \(y(x_0) = y_0\),欧拉方法将求解区间分成若干小步长 \(h\),在每一步利用当前点的斜率(由微分方程给出)来估计下一个点的纵坐标。具体地,在点 \((x_n, y_n)\) 处,微分方程给出的斜率为 \(f(x_n, y_n)\),利用这个斜率沿切线向前移动距离 \(h\),得到下一个近似点 \((x_{n+1}, y_{n+1})\)。步长 \(h\) 越小,近似效果越好,但计算量也越大。

核心公式

  • \(["\)y_{n+1} = y_n + h \cdot f(x_n, y_n)\(", "\)x_{n+1} = x_n + h\(", "\)y(x) \approx y_n + f(x_n, y_n)(x - x_n)\(", "\)\text{局部截断误差} = O(h^2)\(", "\)\text{全局截断误差} = O(h)\("]\)

易错点

  • ⚠️ 混淆步长 \(h\) 的含义:将 \(h\) 误认为是函数值的增量而非自变量的增量,导致在递推公式中使用错误的 \(h\)
  • ⚠️ 忽视初始条件的重要性:未能正确理解 \(y_0 = y(x_0)\) 是欧拉方法的起点,导致第一步计算错误
  • ⚠️ 对近似误差的认识不足:不理解步长越小近似越精确的原因,或错误地认为欧拉方法可以得到精确解
  • ⚠️ 在递推过程中使用了新的 \(y_{n+1}\) 值来计算同一步的斜率:应该始终使用 \((x_n, y_n)\) 处的斜率,而不是 \((x_{n+1}, y_{n+1})\) 处的斜率