Skip to content

有限差分公式

Finite-difference formulas · Finite-difference stencil

用邻近节点的函数值近似导数,并以矩条件推导差分权重、截断阶和边界公式。

形式陈述

给定函数 f、求导位置 x、节点偏移和步长,有限差分公式以有限个函数值的线性组合近似 f(m)(x)。在均匀网格上,最常见的一阶单侧公式为

Dh+f(x)=f(x+h)f(x)h,Dhf(x)=f(x)f(xh)h.

f 在相应邻域内三阶连续可微,由Taylor 定理可得

Dh+f(x)=f(x)+h2f(x)+O(h2),Dhf(x)=f(x)h2f(x)+O(h2).

二者的截断误差均为 O(h),但主误差项符号相反。若 f 在邻域内五阶连续可微,将它们对称组合得到中心差分

Dh0f(x)=f(x+h)f(xh)2h=f(x)+h26f(3)(x)+O(h4),

所以中心一阶差分具有二阶截断精度。若 f 在邻域内六阶连续可微,对二阶导数使用相同三点可得

δh2f(x)=f(x+h)2f(x)+f(xh)h2=f(x)+h212f(4)(x)+O(h4).

一般 stencil 写成

Dhf(x)=1hmj=0scjf(x+αjh),

其中偏移 αj 互异。要让它对次数不超过 r 的多项式复制 m 阶导数,权重必须满足矩条件

j=0scjαj={m!,=m,0,0r, m.

第一个未被消去的 Taylor 矩决定形式截断阶。这组方程也可由插值多项式x 处求导得到;推导时应先对插值表示求导并独立控制余项,不能把含有未知 ξx 的 Lagrange 余项当作普通显函数直接微分。

非均匀节点必须使用实际偏移 xjx 重新求权重。把单一 h 的均匀网格系数套到不等距数据上,通常连低阶矩条件都不满足。权重预计算后,一次 s+1 点差分需要 s+1 次函数取值、O(s) 次算术和 O(s) 个局部数据;批量网格计算可复用相邻值。

直觉

差分公式用邻近函数值拼出局部斜率。向前和向后观察都会混入曲率造成的一阶偏差;从两侧以相同距离观察时,这两项符号相反,平均后彼此抵消,中心公式因而多获得一阶精度。提升阶数的本质不是增加术语,而是选择权重,使更多低阶 Taylor 矩精确匹配。

节点越多,能够消去的误差项通常越多,但线性组合的系数也可能变大。大权重会放大数据噪声和函数求值误差;更宽的 stencil 还会跨越边界、间断或变化尺度。形式阶数只是精确算术下的局部结论,不是总误差排名。

例子与边界

对三次多项式 f(x)=x3,中心差分满足

(x+h)3(xh)32h=3x2+h2.

误差恰为 h2,直接显示对称性消除了本来会出现的 O(h) 项。若 f 是二次多项式,三阶导数为零,中心差分则精确给出一阶导数;这说明“二阶公式”指对一般光滑函数的首个遗漏阶,不排除特殊函数上更准确。

在区间左端 af(ah) 可能没有定义或不属于数据域,中心公式无法使用。此时需采用前向 stencil,并通过更多右侧节点恢复所需阶数。边界闭合与内部公式是两个不同设计问题,不能靠越界取值或复制端点蒙混过去。

f 含跳跃、尖点或高频噪声,Taylor 光滑性假设失效。即使公式仍能输出一个数字,也不再拥有声明的截断阶。对非均匀节点,节点靠得过近还会使求权重的矩系统病态,产生很大的正负系数。

有限精度中,差分分子会发生相近量相减。因此减小 h 虽能降低本页分析的截断项,却可能增大舍入项;两者的平衡由数值微分中的截断—舍入权衡单独分析。

推论与应用

有限差分是离散化误差框架中的局部算子构造。数值微分把 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.