默认值:k=0.5, h=0.1, x_end=4, y₀=10。精确解 y(4) = 10·e⁻² ≈ 1.3534。增大 h 时 Euler 误差会爆发性增长。
横轴=x [0, x_end] / 纵轴=y / 黑粗线=精确解 y = y₀·exp(−k·x) / 蓝实线=RK4 / 红实线=Euler。h 越小,RK4 与精确解越接近,Euler 偏离越明显。h 越大,Euler 偏差越显著。
横轴=x / 纵轴=log10|y_num − y_exact| / 蓝色=RK4 的绝对误差 / 红色=Euler 的绝对误差。RK4 比 Euler 小数个数量级(h=0.1 时约相差 10⁵ 倍精度)。随 x 增加两者误差都增长,但增长率差异显著。
目标常微分方程与精确解:
$$\frac{dy}{dx} = -k\,y,\qquad y(0)=y_0 \;\Longrightarrow\; y(x) = y_0\,e^{-kx}$$显式 Euler 法(1 阶,全局误差 O(h)):
$$y_{n+1} = y_n + h\,f(x_n, y_n) = y_n(1-kh)$$经典 4 阶龙格-库塔法(4 阶,全局误差 O(h⁴)):
$$\begin{aligned}k_1 &= h\,f(x_n, y_n)\\ k_2 &= h\,f(x_n+\tfrac{h}{2}, y_n+\tfrac{k_1}{2})\\ k_3 &= h\,f(x_n+\tfrac{h}{2}, y_n+\tfrac{k_2}{2})\\ k_4 &= h\,f(x_n+h, y_n+k_3)\\ y_{n+1} &= y_n + \tfrac{1}{6}(k_1+2k_2+2k_3+k_4)\end{aligned}$$$k$ 是衰减率(时间常数 $\tau=1/k$),$h$ 是步长,$y_0$ 是初值。Euler 仅用起点斜率近似,RK4 则用 4 点的 Simpson 型加权平均。将 h 减半时,Euler 误差减至 1/2,RK4 误差减至 1/16。