对应教材 7.1、7.2.1–7.2.3、定理 7.1–7.3、例 1–5。老师本章尚未开讲,先按教材铺。
主线:Euler 是最简单的单步法;RK 用多算几个斜率把阶抬高;收敛看相容 + Lipschitz,稳定看测试方程。
一阶初值问题:
y′=f(t,y),y(t0)=y0,t∈[t0,T].
若 f 对 y 满足 Lipschitz 条件
∣f(t,y1)−f(t,y2)∣≤L∣y1−y2∣,
则解存在唯一,且对初值连续依赖(适定)。
局部截断误差:设 y(t) 是精确解,单步法写成 yn+1=yn+hΦ(tn,yn,h)。令
Tn+1=y(tn+1)−y(tn)−hΦ(tn,y(tn),h).
若 Tn+1=O(hp+1),称方法为 p 阶;全局误差为 O(hp)。
显式 Euler:
yn+1=yn+hf(tn,yn).
局部截断误差 O(h2),一阶方法。几何上沿当前点切线走一步。
后退 Euler:
yn+1=yn+hf(tn+1,yn+1).
隐式,每步解一个方程;一阶,但绝对稳定区域更大,适合刚性方程。
梯形法:
yn+1=yn+2h[f(tn,yn)+f(tn+1,yn+1)].
隐式,二阶;是“平均斜率”。
改进 Euler(预测–校正):
yˉn+1=yn+hf(tn,yn),yn+1=yn+2h[f(tn,yn)+f(tn+1,yˉn+1)].
显式,二阶。
在 [tn,tn+1] 上多取几个斜率,加权平均:
yn+1=yn+hi=1∑sbiki,ki=f(tn+cih, yn+hj=1∑i−1aijkj).
系数满足阶条件。常用:
中点公式(RK2):
k1=f(tn,yn),k2=f(tn+2h,yn+2hk1),yn+1=yn+hk2.
四阶 RK(RK4):
k1k2k3k4yn+1=f(tn,yn),=f(tn+2h,yn+2hk1),=f(tn+2h,yn+2hk2),=f(tn+h,yn+hk3),=yn+6h(k1+2k2+2k3+k4).
四阶方法,每步 4 次函数求值;工程中最常用。
定理 7.1(阶):若单步法的局部截断误差为 O(hp+1),则它是 p 阶方法。
定理 7.2(收敛):若单步法相容(p≥1)且 Φ 对 y 满足 Lipschitz 条件,则方法收敛,全局误差 O(hp)。
定理 7.3(绝对稳定):对测试方程 y′=λy(λ 可复),单步法写成
yn+1=R(hλ)yn.
若 ∣R(z)∣<1,称方法在 z=hλ 处绝对稳定;所有这样的 z 组成绝对稳定区域。
- Euler:R(z)=1+z,稳定区域 ∣1+z∣<1;
- 后退 Euler:R(z)=1/(1−z),稳定区域 ∣1−z∣>1(包含左半平面);
- RK4:R(z)=1+z+z2/2+z3/6+z4/24。
例 1(教材 7.2.1):对 y′=y−t2+1、y(0)=0.5,取 h=0.1,Euler 法:
yn+1=yn+h(yn−tn2+1).
| tn | Euler yn | 精确解 | 误差 |
| 0.0 | 0.50000000 | 0.50000000 | 0 |
| 0.1 | 0.65000000 | 0.65741454 | −7.41×10−3 |
| 0.2 | 0.81400000 | 0.82929862 | −1.53×10−2 |
| 0.3 | 0.99140000 | 1.01507060 | −2.37×10−2 |
| 0.4 | 1.18154000 | 1.21408765 | −3.25×10−2 |
| 0.5 | 1.38369400 | 1.42563936 | −4.19×10−2 |
误差随 t 增大,步长减半误差约减半(一阶收敛)。
例 2–5(教材 7.2.2):改进 Euler、中点公式、RK4 对同一初值问题计算;同样步长下 RK4 误差最小,但每步函数求值最多。
覆盖核对
本节覆盖教材 7.1、7.2.1–7.2.3、定理 7.1–7.3、例 1–5;老师本章尚未开讲。下一节:7.3 线性多步法。