形式陈述
给定函数 f 、求导位置 x 、节点偏移和步长,有限差分公式以有限个函数值的线性组合近似 f ( m ) ( x ) 。在均匀网格上,最常见的一阶单侧公式为
D h + f ( x ) = f ( x + h ) − f ( x ) h , D h − f ( x ) = f ( x ) − f ( x − h ) h . 若 f 在相应邻域内三阶连续可微,由Taylor 定理 公理库 泰勒定理 Taylor's theorem 足够光滑函数由有限阶导数多项式加余项表示。 可得
D h + f ( x ) = f ′ ( x ) + h 2 f ″ ( x ) + O ( h 2 ) , D h − f ( x ) = f ′ ( x ) − h 2 f ″ ( x ) + O ( h 2 ) . 二者的截断误差均为 O ( h ) ,但主误差项符号相反。若 f 在邻域内五阶连续可微,将它们对称组合得到中心差分
D h 0 f ( x ) = f ( x + h ) − f ( x − h ) 2 h = f ′ ( x ) + h 2 6 f ( 3 ) ( x ) + O ( h 4 ) , 所以中心一阶差分具有二阶截断精度。若 f 在邻域内六阶连续可微,对二阶导数使用相同三点可得
δ h 2 f ( x ) = f ( x + h ) − 2 f ( x ) + f ( x − h ) h 2 = f ″ ( x ) + h 2 12 f ( 4 ) ( x ) + O ( h 4 ) . 一般 stencil 写成
D h f ( x ) = 1 h m ∑ j = 0 s c j f ( x + α j h ) , 其中偏移 α j 互异。要让它对次数不超过 r 的多项式复制 m 阶导数,权重必须满足矩条件
∑ j = 0 s c j α j ℓ = { m ! , ℓ = m , 0 , 0 ≤ ℓ ≤ r , ℓ ≠ m . 第一个未被消去的 Taylor 矩决定形式截断阶。这组方程也可由插值多项式 公理库 多项式插值问题 Polynomial interpolation 由互异节点上的有限数据唯一确定次数受限的插值多项式,并区分对象存在性与具体表示算法。 在 x 处求导得到;推导时应先对插值表示求导并独立控制余项,不能把含有未知 ξ x 的 Lagrange 余项当作普通显函数直接微分。
非均匀节点必须使用实际偏移 x j − x 重新求权重。把单一 h 的均匀网格系数套到不等距数据上,通常连低阶矩条件都不满足。权重预计算后,一次 s + 1 点差分需要 s + 1 次函数取值、O ( s ) 次算术和 O ( s ) 个局部数据;批量网格计算可复用相邻值。
直觉
差分公式用邻近函数值拼出局部斜率。向前和向后观察都会混入曲率造成的一阶偏差;从两侧以相同距离观察时,这两项符号相反,平均后彼此抵消,中心公式因而多获得一阶精度。提升阶数的本质不是增加术语,而是选择权重,使更多低阶 Taylor 矩精确匹配。
节点越多,能够消去的误差项通常越多,但线性组合的系数也可能变大。大权重会放大数据噪声和函数求值误差;更宽的 stencil 还会跨越边界、间断或变化尺度。形式阶数只是精确算术下的局部结论,不是总误差排名。
例子与边界
对三次多项式 f ( x ) = x 3 ,中心差分满足
( x + h ) 3 − ( x − h ) 3 2 h = 3 x 2 + h 2 . 误差恰为 h 2 ,直接显示对称性消除了本来会出现的 O ( h ) 项。若 f 是二次多项式,三阶导数为零,中心差分则精确给出一阶导数;这说明“二阶公式”指对一般光滑函数的首个遗漏阶,不排除特殊函数上更准确。
在区间左端 a ,f ( a − h ) 可能没有定义或不属于数据域,中心公式无法使用。此时需采用前向 stencil,并通过更多右侧节点恢复所需阶数。边界闭合与内部公式是两个不同设计问题,不能靠越界取值或复制端点蒙混过去。
若 f 含跳跃、尖点或高频噪声,Taylor 光滑性假设失效。即使公式仍能输出一个数字,也不再拥有声明的截断阶。对非均匀节点,节点靠得过近还会使求权重的矩系统病态,产生很大的正负系数。
有限精度中,差分分子会发生相近量相减 公理库 消去误差与稳定重写 Cancellation and stable reformulation · Catastrophic cancellation 解释相近量相减为何会放大已有误差,并用等价公式、缩放和专用函数改造有限精度计算路径。 。因此减小 h 虽能降低本页分析的截断项,却可能增大舍入项;两者的平衡由数值微分中的截断—舍入权衡 公理库 数值微分中的截断—舍入权衡 Numerical differentiation and roundoff · Step-size selection for finite differences 以截断项和函数值舍入项的竞争解释差分误差的 U 形曲线,并据此选择步长和失败诊断。 单独分析。
推论与应用
有限差分是离散化误差 公理库 离散化误差与截断误差 Discretization error · Truncation error 区分连续问题的离散缺陷与离散解的全局误差,并说明一致性为何不能单独保证收敛。 框架中的局部算子构造。数值微分把 stencil 用于单点导数估计,偏微分方程方法则在整张网格上组装这些局部关系;后者还必须处理边界条件、全局稳定性和离散系统求解,不能由局部截断阶直接推出全局收敛阶。
实现应记录节点、权重、目标导数阶和适用的光滑性条件。若数据点不足、节点重合、求值越界或权重系统病态,应报告公式无法可靠构造,而不是静默退化成另一条未说明的差分规则。
参考资料
NIST Digital Library of Mathematical Functions, §3.4: Differentiation .
MIT OpenCourseWare, 18.330, Introduction to Numerical Analysis , finite-difference notes.
Bengt Fornberg, “Generation of Finite Difference Formulas on Arbitrarily Spaced Grids,” Mathematics of Computation 51(184), 1988.