连续算子如何变成有限次函数求值
定积分 I(f)=∫abf(x)dx 汇总一整段函数值,导数
f′(x) 则描述无限小尺度上的局部变化。计算机通常只能取得有限精度的有限个函数值,因此必须用离散公式近似这两个连续算子。数值求积写成
Q(f)=i=0∑nwif(xi),
其中节点和权重决定公式;数值微分则把邻近点的函数值作线性组合再除以步长。
两者都可从局部插值出发,却有不同的误差敏感性。积分会平均局部扰动,微分要相减近邻值并除以小数,容易放大舍入与测量噪声。评价公式时不能只报告“理论阶数”,还要说明函数光滑性、步长、数据精度和误差测量方式。
线性插值导出梯形公式
在区间 [a,b] 上令 H=b−a。通过端点的线性插值为
p1(x)=f(a)Hb−x+f(b)Hx−a.
积分两个基函数,各自面积都是 H/2,得到梯形公式
T(f)=2H[f(a)+f(b)].
若 f∈C2[a,b],则存在 ξ∈(a,b) 使
I(f)−T(f)=−12H3f′′(ξ).
凸函数满足 f′′≥0,弦位于图像上方,所以梯形面积偏大,即
I−T≤0,与误差公式符号一致。梯形公式对一次以下多项式精确;二次项通常产生非零误差。
梯形网格加密对二次函数的误差缩减
计算 I=∫01x2dx=1/3。单个梯形给出
T1=21[f(0)+f(1)]=21, 故 T1−I=1/6。把区间分成两段,步长 h=1/2,复合梯形为
T2=21[21f(0)+f(1/2)+21f(1)]=21(0+41+21)=83. 此时 T2−I=1/24,恰为原误差的四分之一。因为 f′′=2 为常数,二阶全局误差关系在此不是近似比例,而是精确比例。
二次插值导出 Simpson 公式
取端点 a,b 和中点 m=(a+b)/2,对三点二次插值后积分,得到
S(f)=6H[f(a)+4f(m)+f(b)].
权重 1:4:1 来自 Lagrange 基函数的积分,不是经验配比。虽然由二次插值推导,Simpson 公式对三次多项式也精确:对称节点会使相应奇次误差积分抵消。若 f∈C4[a,b],则存在
ξ∈(a,b) 使
I(f)−S(f)=−2880H5f(4)(ξ).
四次多项式揭示 Simpson 的首个误差项
对 f(x)=x4 在 [0,1] 上求积。真实积分为 I=1/5,Simpson 公式给出
S=61[f(0)+4f(1/2)+f(1)]=61(0+41+1)=245. 所以
I−S=51−245=−1201. 另一方面,f(4)=24,误差公式给
−24/2880=−1/120,完全相符。若改为任意三次以下多项式,四阶导数为零,Simpson 结果精确。
复合求积把局部公式铺满区间
在等距网格 xi=a+ih 上,h=(b−a)/n。复合梯形公式为
Tn=h[21f(x0)+i=1∑n−1f(xi)+21f(xn)].
若 f∈C2[a,b],则
I−Tn=−12(b−a)h2f′′(ξ)
对某个 ξ∈(a,b) 成立;因此固定区间上全局误差为 O(h2)。局部每段误差是 O(h3),约有 (b−a)/h 段,相加后成为二阶。
复合 Simpson 要求 n 为偶数,把相邻两个子区间配成一组:
Sn=3hf(x0)+f(xn)+41≤i≤n−1i 为奇数∑f(xi)+22≤i≤n−2i 为偶数∑f(xi).
若 f∈C4[a,b],则
I−Sn=−180(b−a)h4f(4)(ξ),
故全局误差为 O(h4)。步长减半时,渐近区内梯形误差约缩为四分之一,Simpson 误差约缩为十六分之一。这是经验阶检验:若实测比例长期不接近理论值,可能是网格尚粗、光滑性不足、舍入占主导或实现权重有误。
非等距网格不能直接套用上述统一 h 的复合权重。端点存在奇性或函数在局部快速变化时,均匀加密也可能浪费求值;分区、变量代换或自适应求积更合适。误差阶从来附带正则性和网格假设。
Taylor 展开导出前向与中心差分
在 x 附近展开
f(x+h)=f(x)+hf′(x)+2h2f′′(x)+6h3f′′′(x)+O(h4).
移项并除以 h,得到前向差分
Dh+f(x)=hf(x+h)−f(x)=f′(x)+2hf′′(x)+O(h2),
所以一般只有一阶精度。再写出 f(x−h) 的展开,用正向式减去反向式,偶次项抵消:
Dh0f(x)=2hf(x+h)−f(x−h)=f′(x)+6h2f′′′(x)+O(h4).
中心差分为二阶。把两式相加则得到二阶导数公式
h2f(x+h)−2f(x)+f(x−h)=f′′(x)+12h2f(4)(x)+O(h4).
公式位于区间内部时可使用对称节点;靠近边界没有区间外数据,往往要用单边差分或额外边界条件。单边与中心公式不能只凭相同点数互换,因为它们的对称性和误差阶不同。
Richardson 外推消去主误差项
若某个近似满足
A(h)=L+chp+O(hp+q),
则步长减半时
A(h/2)=L+chp/2p+O(hp+q)。线性组合
R(h)=2p−12pA(h/2)−A(h)
消去 chp。中心差分有 p=2,在足够光滑且对称展开成立时,
R(h)=34Dh/20−Dh0
把二阶误差提升到四阶。外推依赖已知误差展开;若函数不够光滑、两个步长使用不同数据噪声,或已经进入舍入主导区,代数组合不会自动改善结果。
中心差分与 Richardson 外推求 cos 0
对 f(x)=sinx 在 x=0 求导,真值为一。中心差分化为
Dh0=2hsinh−sin(−h)=hsinh. 取弧度步长 h=0.2 与 h/2=0.1,
D0.20≈0.993346654,D0.10≈0.998334166. Richardson 外推给出
R(0.2)=34(0.998334166)−0.993346654≈0.999996670. 原来的绝对误差分别约为 6.65×10−3 和
1.67×10−3,外推后约为 3.33×10−6。结果接近一,也符合中心差分主误差随 h2 缩小的方向。
步长过小会放大舍入和测量噪声
只看 Taylor 截断误差,减小 h 似乎总是有利。但差分分子是两个接近数之差。若观测值为
f(x±h)=f(x±h)+e±,且
∣e±∣≤δ,则中心差分中的数据误差满足
2he+−e−≤hδ.
步长缩小十倍,这个最坏上界放大十倍。浮点求值也有类似行为:若两个函数值量级约为 ∣f(x)∣,舍入贡献常可粗略写成
Cru∣f(x)∣/h,其中 u 是单位舍入误差、Cr 与求值和运算细节有关。
中心差分的总误差可用简化模型
E(h)≲Cth2+hδ
理解。第一项是截断误差,随 h 减小;第二项是数据或舍入误差,随
h 减小反而增大。二者平衡给出的最优尺度约满足
h3≍δ/Ct,而不是“取机器能表示的最小正数”。实际计算可逐步减半步长,观察结果先稳定后抖动的转折,并用高精度或独立公式复核。
相同测量误差在两个步长下的放大
假设每个函数观测的绝对误差不超过 10−6。中心差分的数据误差上界为
10−6/h。当 h=10−2 时,上界为 10−4;当
h=10−5 时,上界变为 10−1。
后一个步长小了一千倍,却允许导数误差放大到前者的一千倍。若真实导数的量级为一,0.1 已不可忽略。这个例子没有声称误差每次都达到上界;它说明在缺少误差相关性信息时,极小步长无法保证更准。
求积也要检查舍入、奇性与停止准则
积分不像微分那样直接除以小步长,但极细网格会增加函数求值和加法次数。大量同号或异号项累加可能产生舍入,函数若在端点附近有奇性,经典光滑误差公式也不再适用。对振荡积分,粗网格还可能把正负振荡错误混叠成看似稳定的结果。
自适应求积通常比较同一区间上两个不同阶或不同细化程度的估计,再优先细分误差指示大的区间。停止条件要同时包含绝对与相对容差,例如
∣Qfine−Qcoarse∣≤τabs+τrel∣Qfine∣.
差值是误差估计而非真误差;若两个公式因同一欠采样而给出相近错误结果,仍可能误判收敛。改变节点布局、作变量代换或与已知界比较能提供独立证据。
理论四阶意味着任意步长都比二阶公式准确
误差阶只描述 h→0 且截断误差主导时的渐近斜率。四阶公式可能有更大的常数、需要更多函数值,并可能更早受到噪声或舍入限制。具体误差必须通过网格序列验证。
差分步长越小,导数越接近真值
截断误差会减小,数据误差和消去后的舍入误差却大致按 1/h 放大。真实误差通常呈先降后升的形状,存在与函数尺度、数据精度相关的有效步长区间。
练习:求积、差分与误差平衡
练习 1:梯形与 Simpson 的代数精确性
- 所属知识
- 基本求积公式
- 难度
- 2/5
用单个梯形公式和 Simpson 公式计算
∫02x3dx,并与精确值比较。
查看提示
中点为 1,分别代入权重 1:1 与 1:4:1。
查看解答
精确积分为 [x4/4]02=4。梯形公式给
T=22[f(0)+f(2)]=8, 误差为四。Simpson 公式给
S=62[f(0)+4f(1)+f(2)]=31(0+4+8)=4. 三次函数被 Simpson 精确积分,而梯形只保证对一次以下多项式精确。
练习 2:复合梯形的二阶缩放
- 所属知识
- 复合求积
- 难度
- 3/5
用四个等长子区间的复合梯形公式计算
∫01x2dx。求误差,并与两个子区间时的误差 1/24 比较。
查看提示
列出 0、1/4、1/2、3/4、1 五个节点的平方。
查看解答
h=1/4,函数值为 0,1/16,1/4,9/16,1,故
T4=41(0+161+41+169+21)=3211. 由于真值为 1/3,
T4−I=3211−31=961. 1/96 正好是 1/24 的四分之一,与步长减半时二阶误差缩小四倍一致。
练习 3:对三次函数作 Richardson 消项
- 所属知识
- 数值微分
- 难度
- 3/5
对 f(x)=x3 在 x=1 求导。分别计算中心差分
D0.20,D0.10,再作一次 Richardson 外推。
查看提示
先把
(1+h)3−(1−h)3 展开,中心差分只剩
3+h2。
查看解答
直接展开得
Dh0=2h(1+h)3−(1−h)3=3+h2. 所以 D0.20=3.04,D0.10=3.01。外推为
34(3.01)−3.04=3, 恰等于 f′(1)=3。这是因为误差只有 h2 项,一次外推将其完全消去。
练习 4:截断与噪声的最优尺度
- 所属知识
- 步长选择
- 难度
- 4/5
设中心差分总误差的估计模型为
E(h)=6h2+h10−8,h>0. 求使该模型最小的步长,并估计最小误差。
查看提示
对
E(h)=h2/6+10−8/h 求导,并令导数为零。
查看解答
求导得
E′(h)=3h−h210−8. 令其为零得到 h3=3×10−8,所以
h∗=(3×10−8)1/3≈3.107×10−3. 代回可得
E(h∗)≈6(3.107×10−3)2+3.107×10−310−8≈4.83×10−6. E′′(h)=1/3+2×10−8/h3>0,所以这是唯一极小值。继续减小步长会让第二项主导。
概念之间的承接
进一步学习资源
课程 · 2012Introduction to Numerical Analysis
Laurent Demanet
用于核对 M10 各类算法的误差阶、稳定性条件、停止准则和可复算例题。
打开官方来源
MIT 数值分析课程系统覆盖插值求积、误差估计、外推与微分方程离散。阅读算法时可用本章的四项记录表复算:节点和权重、光滑性假设、主误差阶、网格加密比。
书籍 · 2016Calculus Volume 1
Gilbert Strang, Edwin Herman
用于核对基础微积分定义、定理条件、分步例题与练习。
打开官方来源
OpenStax Calculus Volume 1 可用于核对 Taylor 型局部展开、导数和定积分计算。数值公式额外引入了有限精度与离散数据,因此解析公式正确只是起点,还要检查步长和舍入。
下一章:离散微分方程中的稳定性
有限差分给出了导数的局部近似,却没有保证把它反复用于时间推进后仍然可靠。下一章把差分嵌入常微分和偏微分方程,区分一致性、稳定性与收敛性,并比较显式方法的步长限制和隐式方法的线性求解成本。