形式陈述
取 F ∈ { R , C } 、整数 d ≥ 1 ,时间 t 为实变量。本框架的基本对象是常微分方程 理路 常微分方程 Ordinary differential equation · ODE 未知函数及其单一自变量导数组成的方程。 初值问题
y ′ ( t ) = f ( t , y ( t ) ) , y ( t 0 ) = y 0 , y ( t ) ∈ F d . 当 F = C 时,写 y = u + i v ,将它解释为实 2 d 维系统
( u v ) ′ = ( Re f ( t , u + i v ) Im f ( t , u + i v ) ) . 存在性、唯一性及对状态的光滑或 Lipschitz 条件按这些实坐标理解,不要求 f 关于复状态全纯。若 f 不显含 t ,问题称为 autonomous;否则是 nonautonomous。给定终点 T > t 0 ,时间网格写成
t 0 < t 1 < ⋯ < t N = T , h n = t n + 1 − t n > 0. 固定步长令所有 h n = h ,变步长则允许 h n 由预定网格或运行中的控制策略改变。数值状态 y n 近似 y ( t n ) ,全部状态构成离散数值轨道 理路 序列 Sequence 以自然数为定义域的函数。 ;保存整个轨道需要 O ( N d ) 空间。若只保存固定数量的状态与 stage 向量,这部分工作存储为 O ( d ) ;直接保存 s 个 stage 则需 O ( s d ) 。内层 Jacobian、矩阵分解及其他求解器存储还须另计,一步更新的形式本身不保证全部工作区只有 O ( d ) 。
在相应初值问题于该时间段存在唯一解时,若从时刻 t 的状态 η 出发,精确解在长度 h 后的值记为流映射
Φ t , h ( η ) . 一步方法用可计算映射 Ψ 代替它:
y n + 1 = Ψ t n , h n ( y n ) . 多步方法则让 y n + 1 同时依赖若干先前状态或函数值。前者的状态只需包含当前 y n ;后者必须把历史纳入算法状态,启动、变步长和重启也会因此具有不同规则。
显式方法能从已有数据直接算出 y n + 1 。隐式方法把新状态放进方程右侧,得到
F n ( y n + 1 ) = 0 之类的代数问题,每一步还需非线性或线性求解。显式与隐式描述计算依赖,不等同于低阶与高阶,也不直接判定方法是否适合刚性问题。
局部缺陷从精确状态起步比较两个映射:
d n + 1 = Φ t n , h n ( y ( t n ) ) − Ψ t n , h n ( y ( t n ) ) . 全局误差则比较累计后的状态
e n = y ( t n ) − y n . 两种误差由精确关系
e n + 1 = d n + 1 + Ψ t n , h n ( y ( t n ) ) − Ψ t n , h n ( y n ) 连接。若数值映射对状态的 Lipschitz 常数不超过 1 + C h n ,则 ‖ e n + 1 ‖ ≤ ‖ d n + 1 ‖ + ( 1 + C h n ) ‖ e n ‖ :本步继承放大后的旧误差,再加入新缺陷。在固定时间区间内控制这些乘积,才有把局部阶转为全局阶的依据。除此之外,隐式方程未完全求解会产生代数求解误差,每次函数求值与状态更新还会产生舍入误差;它们与离散化误差 理路 离散化误差与截断误差 Discretization error · Truncation error 区分连续问题的离散缺陷与离散解的全局误差,并说明一致性为何不能单独保证收敛。 不能合并成一个没有来源标签的数字。
算法输入至少包括 f , t 0 , y 0 , T 、网格或步长策略、方法参数和工作预算;误差控制或隐式求解还要提供各自的容差。输出应包含末状态或轨道、实际到达时间、接受与拒绝步数、函数及 Jacobian 求值数,以及完成、事件终止、预算耗尽、非有限值或隐式求解失败等状态。固定网格一步法在完成全部 N 次更新且每步有效后结束;变步长控制和误差接受规则由专门页面展开。
成本应先按一步计算,再累加到整个时间区间。若显式方法每步作 s 次函数求值,N 步共需 s N 次求值;函数本身的计算成本另计。向量组合则取决于公式结构:对直接实现的 s 级显式 Runge–Kutta,若级间系数共有 q 个非零项,每步需 O ( ( s + q ) d ) 次标量运算,全程为 O ( N ( s + q ) d ) 。稠密系数可使 q = Θ ( s 2 ) ;固定级数与固定公式时,全程向量成本为 O ( N d ) ,Euler 的 N 次 d 维更新就是最简单的例子。
隐式方法还要计入每步非线性迭代、Jacobian 构造和线性系统求解。自适应算法的拒绝步同样消耗求值与向量运算,不能只按最终接受步数或 stage 数与显式固定步长方法比较。
直觉
连续解是一条随时间延展的轨道,时间步进用有限个落脚点追踪它。精确流 Φ 告诉我们真实轨道一步会走到哪里,数值映射 Ψ 则规定算法实际迈出的那一步;误差分析研究这两种一步动作的差异怎样沿轨道传播。
固定步长像按均匀节拍拍摄,变步长则在变化剧烈处增加帧数、平缓处减少帧数。无论节拍怎样变化,每个状态都必须携带明确时间;把非自治问题只写成 y n + 1 = Ψ h ( y n ) 会丢掉 t n 对右端的影响。
例子与边界
对衰减方程
y ′ = − λ y , λ > 0 , 精确一步因子为 e − λ h 。前向 Euler、后向 Euler 和其他一步法会给出各自的数值放大因子;比较这些因子能看见离散轨道是否复制连续衰减,但具体公式、阶数和刚性实验留在Euler 方法 理路 Euler 方法 Euler method · Forward Euler · Backward Euler 以前向与后向 Euler 建立一阶时间步进基线,并用局部缺陷、全局误差和测试方程放大因子揭示适用边界。 及后续稳定性页面。
初值问题不是所有微分方程计算的通用外壳。边值问题同时约束区间两端,通常需要全局离散或射击;微分代数方程含代数约束,初始状态还要满足一致性;随机微分方程的增量含随机项,误差与收敛概念也不同。把这些对象直接塞进同一个 Ψ 公式,会隐藏各自必须维护的结构。
固定正延迟也改变状态接口:延迟初值问题 理路 常延迟微分方程与分步构造 Retarded delay differential equation · DDE method of steps · 常时滞微分方程 · 分步法 用整段连续历史启动固定正延迟方程,逐窗构造唯一解,并核对有限时间延拓、历史误差与接缝正则性。 给定一段函数,未来计算要持续查询它及后来生成的曲线。连续Euler 理路 连续 Euler 延迟方法与残差证书 Continuous Euler method for delay equations · Continuous delayed Euler residual certificate 以同一条连续折线读取离网格历史,并合并平移切点检查全时段残差,交付有限窗及耗散延迟模型的误差保证。 的滚动存储随延迟窗口中的实际节点数增长;仅保存当前向量的O(d)空间结论不能直接沿用。
连续系统的平衡稳定、数值算法的有限精度稳定和时间步进的离散放大性质也不是同一个概念。连续解衰减不能保证任意步长下的数值轨道衰减;数值轨道有界也不能说明它在给定终点足够准确。
推论与应用
实现应由动力学与误差控制选择。隐式 ODE 方法与非线性步求解 理路 隐式 ODE 方法与非线性步求解 Implicit ODE method · Implicit time stepping · Implicit time integration 把隐式时间步分解为离散方程、非线性求解与线性求解,区分时间稳定性、迭代收敛、阻尼及误差预算。 适合刚性问题,但每一步要承担非线性或线性系统求解误差;线性多步法与零稳定性 理路 线性多步法与零稳定性 Linear multistep method · Linear multistep zero-stability 用特征多项式统一固定步长线性多步法,并以一致性和根条件刻画零稳定及其有限区间收敛。 复用历史值,启动过程和变步长系数必须与零稳定性配套;自适应步长与嵌入式 Runge–Kutta 理路 自适应步长与嵌入式 Runge–Kutta Adaptive Runge-Kutta step size · Embedded Runge-Kutta method · Adaptive Runge-Kutta 用共享 stages 的嵌入式 Runge–Kutta 对估计单步误差,并通过尺度化接受、拒绝与受限控制器分配时间步。 用同一步内两阶近似估计局部误差,适合显式非刚性积分。它们共享时间步接口,却不共享每步成本、稳定域或误差估计机制。
Euler 方法 理路 Euler 方法 Euler method · Forward Euler · Backward Euler 以前向与后向 Euler 建立一阶时间步进基线,并用局部缺陷、全局误差和测试方程放大因子揭示适用边界。 提供最小的一步基线,Runge–Kutta 方法 理路 Runge–Kutta 方法 Runge-Kutta method · RK method 用一步内多个相互依赖的 stage 统一显式与隐式 Runge–Kutta 方法,并以 Butcher tableau、阶条件和稳定函数刻画结构。 在一步内增加多个 stage,多步法则复用历史。它们都应以本页的网格、状态、流映射、数值映射和退出状态为共同接口,避免反复定义“数值积分”。
实验报告应保存实际时间网格、函数求值数、局部诊断、全局参考误差和退出原因。只给最终曲线而不说明步长与状态,无法区分真实动力学、离散误差、非线性求解误差和绘图采样效果。
若输出要求覆盖一整盒初值的真实终值,验证Taylor步 理路 验证 Taylor 步与全步包围 Validated Taylor integration step · Interval Taylor method for ODE 先用严格包含认证全步轨道盒,再计算有限Taylor端点包围,逐步维护全部初值解的包含不变量并显式报告拒绝或未决。 把单个近似状态改为包含盒,并为每个接受步保存全步存在盒与Taylor余项。复核器从初始盒逐段重放,检查网格无缺口且确实到达终点;拒步或缺少某一步证书时,应报告尚未认证,而非将此前的成功外推到整个窗口。
参考资料
NIST Digital Library of Mathematical Functions, §3.7: Ordinary Differential Equations , accessed 2026.
Ernst Hairer, Syvert P. Nørsett, and Gerhard Wanner, Solving Ordinary Differential Equations I: Nonstiff Problems , 2nd rev. ed., Springer, 1993.
MIT OpenCourseWare, 18.330 Introduction to Numerical Analysis: Lecture Notes , ODE initial-value problems, accessed 2026.