一、常微分方程(ODE)基础概念
-
ODE定义
- g(t,y,y′,⋯,y(k))=0,其中 y=y(t) 是未知函数。
- k阶显式ODE:y(k)=f(t,y,y′,⋯,y(k−1))。
-
高阶ODE化一阶方程组
- 变量代换:设 u1=y,u2=y′,⋯,uk=y(k−1)。
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧u1′=u2u2′=u3⋮uk′=f(t,u1,…,uk)
- 例(牛顿第二定律):
my′′=F(t,y,y′)→{u1′=u2u2′=m1F(t,u1,u2)
-
初值问题(IVP)
y′=f(t,y),y(t0)=y0,t≥t0
-
稳定性分类(定义8.1)
- 稳定:初值扰动 δ 导致解偏差 Δy(t) 有界。
- 渐近稳定:limt→∞Δy(t)=0。
- 不稳定:Δy(t)→∞。
- 模型问题分析:y′=λy,解 y(t)=y0eλ(t−t0)。
- 稳定当 Re(λ)≤0;渐近稳定当 Re(λ)<0。
- 非线性问题局部稳定性:
- 雅可比矩阵 J=∂y∂f,特征值 λk 满足 Re(λk)≤0 则局部稳定。
二、数值解法基本概念
-
离散变量法
- 步进计算:t0<t1<⋯<tn,步长 hn=tn+1−tn。
- 近似解序列 y0,y1,…,yn。
-
方法分类
类型 |
公式形式 |
特点 |
单步法 |
yn+1=G(yn) |
仅依赖前一步 |
多步法(k步) |
yn+1=G(yn,…,yn−k) |
依赖前k步 |
显式 |
yn+1 不隐式出现 |
直接计算 |
隐式 |
yn+1 出现在方程中 |
需迭代求解(如牛顿法) |
-
局部截断误差(LTE)(定义8.3)
- 假设 yn−i=y(tn−i) 精确,则 ln+1=y(tn+1)−yn+1。
- p阶精度:ln+1=O(hp+1)。
-
整体误差
- en=yn−y(tn)。
- 定理:若方法稳定且局部截断误差 O(hp+1),则整体误差 en=O(hp)。
三、单步法数值解法
1. 欧拉法(显式)
- 公式:yn+1=yn+hf(tn,yn)。
- 推导:
- 数值微分(向前差分):y′(tn)≈hy(tn+1)−y(tn)。
- 数值积分(左矩形):∫tntn+1fds≈hf(tn,y(tn))。
- 精度:ln+1=O(h2) → 1阶精度。
- 稳定性分析(模型问题 y′=λy):
- 递推式:yn+1=(1+hλ)yn。
- 稳定条件:∣1+hλ∣≤1。
- 稳定区域:复平面中 hλ 在圆盘 ∣z+1∣≤1 内(见Page 15图示)。
2. 向后欧拉法(隐式)
- 公式:yn+1=yn+hf(tn+1,yn+1)。
- 稳定性(模型问题):
- yn+1=1−hλ1yn,稳定条件 ∣∣1−hλ1∣∣≤1 恒成立(Re(λ)≤0 时)。
→ 无条件稳定(A-stable)。
- 精度:ln+1=O(h2) → 1阶精度(推导见Page 22)。
3. 梯形法(隐式)
- 公式:yn+1=yn+2h[f(tn,yn)+f(tn+1,yn+1)]。
- 稳定性(模型问题):
- yn+1=2−hλ2+hλyn,稳定当 Re(hλ)≤0 → 无条件稳定。
- 精度:ln+1=O(h3) → 2阶精度。
四、Runge-Kutta(R-K)方法
1. 显式R-K公式
- 一般形式:
yn+1=yn+hi=1∑rciki,{k1=f(tn,yn)ki=f(tn+λih,yn+h∑j=1i−1μijkj)
- 参数确定:通过泰勒展开匹配精度阶(例:2级R-K见Page 29)。
2. 常用公式
- 改进欧拉法(2级2阶):
⎩⎪⎨⎪⎧k1=f(tn,yn)k2=f(tn+h,yn+hk1)yn+1=yn+2h(k1+k2)
- 经典4级4阶R-K:
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧k1=f(tn,yn)k2=f(tn+2h,yn+2hk1)k3=f(tn+2h,yn+2hk2)k4=f(tn+h,yn+hk3)yn+1=yn+6h(k1+2k2+2k3+k4)
- 精度与稳定性:
- r级显式R-K最高阶数:r(当 r≤4 时)。
- 稳定区域:模型问题下 ∣ϕ(hλ)∣≤1(例:2阶R-K要求 h≤−2/λ)。
五、多步法
1. 线性多步法公式
yn+1=i=1∑mαiyn+1−i+hi=0∑mβif(tn+1−i,yn+1−i)
- 显式:β0=0;隐式:β0=0。
2. 系数确定方法
- 泰勒展开法:
- 将 y(tn+1) 在 tn+1 泰勒展开,匹配系数使低阶项为零。
- 相容性条件(1阶精度):
∑αi=1,∑iαi=∑βi
- 单项式代入法:
- 令 y(t)=tk(k=0,1,…,p)代入公式,解方程组。
3. 常用多步法
类型 |
公式 |
阶数 |
稳定阈值 |
Adams显式 |
yn+1=yn+24h(55fn−59fn−1+37fn−2−9fn−3) |
4 |
−3/10 |
Adams隐式 |
yn+1=yn+24h(9fn+1+19fn−5fn−1+fn−2) |
4 |
−3 |
BDF隐式 |
yn+1=∑αiyn+1−i+hβ0fn+1 |
变阶 |
大稳定区域 |
- 定理8.4:m步Adams法,显式阶数 m,隐式阶数 m+1。
- 启动问题:需用单步法计算前 m 步。
六、稳定性与收敛性
1. 数值稳定性定义(定义8.2)
- 扰动 δn 引起的后续误差 ∣δm∣≤∣δn∣。
2. 收敛性条件
- 单步法:若满足相容性 φ(t,y,0)=f(t,y) 且 Lipschitz 连续,则收敛。
- 多步法:需满足根条件(特征多项式根 ∣ri∣≤1 且模1根为单根)。
3. 刚性(Stiff)问题
- 特征:解变化缓慢,但附近解变化快(Re(λk)≪0)。
- 适用方法:隐式法(如向后欧拉、BDF)。
示例:双联摆问题。
⎣⎢⎢⎡10000100002cos(Δu)00cos(Δu)1⎦⎥⎥⎤u′=⎣⎢⎢⎡u3u4−2gsinu1−sin(Δu)u42−gsinu2+sin(Δu)u32⎦⎥⎥⎤,Δu=u1−u2