正切线近似
几何思想
常微分方程 dy/dx = f(x,y) 为 (x,y) 平面中的每个点分配一个斜率——一个方向场。真实解 y(x) 是一条曲线,在每处都遵循指定的斜率。
欧拉方法将连续方向场转换为离散行走:
> (xₙ, yₙ) → (xₙ + h, yₙ + h·f(xₙ, yₙ))
从点 (xₙ, yₙ) 开始,沿正切线移动距离 h。到达近似的下一个点。重复。
几何误差:点 (xₙ, yₙ) 处的正切线斜率为 f(xₙ, yₙ),但在区间 [xₙ, xₙ + h] 中的每个点,真实曲线有不同的斜率。欧拉步长在整个区间中使用左端点的斜率——'曾经的斜率'。每步的误差随 h² 增长。
累积误差
在 N 步到达固定端点 x = a,其中 h = a/N:
- 每步局部截断误差:O(h²)
- 步数:N = a/h
- 全局误差:O(h²) × (a/h) = O(h) — 一阶精度
欧拉方法是一阶的:将 h 减半会将全局误差减半。
运行欧拉方法
考虑 dy/dx = y,初始条件 y(0) = 1。真实解:y(x) = eˣ,所以 y(1) = e ≈ 2.71828。
应用欧拉方法,步长 h = 0.5,从 x = 0 到 x = 1(2 步):
第 1 步:y₁ = y₀ + h·f(x₀, y₀) = 1 + 0.5·(1) = 1.5。新点:(0.5, 1.5)。
第 2 步:y₂ = y₁ + h·f(x₁, y₁) = 1.5 + 0.5·(1.5) = 2.25。新点:(1.0, 2.25)。
欧拉给出 2.25 vs 真实值 2.71828。误差:0.468。相对误差:~17%。
推导欧拉的稳定性区域
对于测试方程 dy/dx = λy(其中 λ 是复数),欧拉方法给出:
> yₙ₊₁ = yₙ + h·λ·yₙ = yₙ·(1 + hλ)
每步的放大因子:z = 1 + hλ。
稳定性条件:当且仅当 |z| ≤ 1,即 |1 + hλ| ≤ 1 时,计算的解保持有界。
这是复 hλ 平面中的几何条件:点 hλ 必须位于以 (-1, 0) 为中心、半径为 1 的圆内。
欧拉的稳定性区域:{ hλ ∈ ℂ : |1 + hλ| ≤ 1 }
对于实负 λ(衰减 ODE,如 dy/dx = -2y):hλ 必须位于实轴上的区间 (-2, 0] 中。对于 λ = -2 和 h = 0.5:hλ = -1。这正好在稳定性边界上——方法是边界稳定的,这解释了前面例子中的定性失败。
对于 h = 1 和 λ = -2:hλ = -2,将我们置于稳定性区域之外。解呈现振荡且幅度增长。
找到稳定性边界
Runge-Kutta 4(RK4)的稳定性区域比欧拉大,这是它被用于大多数问题的原因之一。
对于实负 λ,RK4 允许 hλ 在实轴上下降到大约 -2.785(vs 欧拉的 -2 限制)。
对于刚性方程,其特征值 λ 在非常不同的大小上——比如 λ₁ = -1 和 λ₂ = -1000——稳定性要求 hλ₂ 保留在该区域内。对于实轴上的 RK4:h·(-1000) ≥ -2.785,所以 h ≤ 0.002785。
这个由刚性特征值 λ₂ 设定的微小步长使仿真昂贵,即使缓慢分量 λ₁ 可以使用 h = 2。
不动点与吸引盆地
应用于 dy/dx = f(y) 的欧拉方法定义了一个离散映射:yₙ₊₁ = g(yₙ) = yₙ + h·f(yₙ)。
这个映射的不动点:y 使得 g(y) = y。对于欧拉在 dy/dx = f(y) 上,不动点满足 f(y) = 0——ODE 的平衡点。
不动点的稳定性:如果 |g'(y)| < 1,附近的迭代收敛到 y。如果 |g'(y*)| > 1,它们发散。
g'(y) = 1 + h·f'(y)。在不动点 y:|1 + h·f'(y)| < 1 表示稳定。
这正好是欧拉稳定性条件,λ = f'(y*) — ODE 在平衡点处的线性化。
吸引盆地:初始条件的集合,在欧拉映射下收敛到 y*。对于非线性系统,盆地边界定义了仿真将可靠地跟踪 ODE 平衡点的位置,或发散到另一个吸引子。
仿真循环是一个离散动力系统。它的定性行为——收敛、振荡、发散——取决于相对于 ODE 方向场几何的步长 h。
将几何与仿真设计相连接
数值仿真的几何归结为三个问题:
1. 稳定性区域在哪里?对于欧拉:圆盘 |1 + hλ| ≤ 1。对于 RK4 更大。对于隐式方法无界(整个左半平面)。
2. ODE 的特征值在哪里?在每个点处 f 的雅可比矩阵的特征值 λ 确定稳定性区域必须包含 hλ。
3. 什么 h 将所有 hλ 保留在该区域内?最大允许的 h = (稳定性区域半径)/ max|λ|。
对于刚性系统:max|λ| 巨大,强制显式方法的 h 微小。隐式方法每步昂贵但允许大 h——它们用每步成本交换稳定性。
Hamming 的见解转化为:数值方法的选择编码了一个关于 ODE 特征值谱几何的赌注。使那个赌注显式是任何仿真中的第一个设计决策。