M10 · 第 4 章 · 第二编 逼近与积分

数值积分与数值微分:离散公式、误差阶与步长平衡

从插值多项式和 Taylor 展开推导梯形、Simpson 及有限差分公式,比较复合误差阶与 Richardson 外推,并用截断误差和舍入、测量噪声的竞争解释步长为何不能无限减小。

报告页面错误
预备知识插值、多项式逼近与样条积分与累积量导数与微分

本章目标

  1. 从线性或二次插值的积分推导梯形与 Simpson 公式,并说明代数精确次数。
  2. 计算复合梯形与复合 Simpson 求积,使用全局误差阶判断网格加密的收益。
  3. 由 Taylor 展开推导前向与中心差分,识别对称消项带来的二阶精度。
  4. 用 Richardson 外推消去已知主误差项,并通过两个步长的数值结果复核。
  5. 建立截断误差与舍入、测量噪声误差的平衡模型,解释极小步长为何可能更差。
页面阅读位置0% · 仅保存在此浏览器
章节未开始
本册完成进度0/6 章 · 0%
本页目录

连续算子如何变成有限次函数求值

定积分 I(f)=abf(x)dxI(f)=\int_a^b f(x)\,\mathrm dx 汇总一整段函数值,导数 f(x)f'(x) 则描述无限小尺度上的局部变化。计算机通常只能取得有限精度的有限个函数值,因此必须用离散公式近似这两个连续算子。数值求积写成

Q(f)=i=0nwif(xi),Q(f)=\sum_{i=0}^{n}w_i f(x_i),

其中节点和权重决定公式;数值微分则把邻近点的函数值作线性组合再除以步长。

两者都可从局部插值出发,却有不同的误差敏感性。积分会平均局部扰动,微分要相减近邻值并除以小数,容易放大舍入与测量噪声。评价公式时不能只报告“理论阶数”,还要说明函数光滑性、步长、数据精度和误差测量方式。

线性插值导出梯形公式

在区间 [a,b][a,b] 上令 H=baH=b-a。通过端点的线性插值为

p1(x)=f(a)bxH+f(b)xaH.p_1(x)=f(a)\frac{b-x}{H}+f(b)\frac{x-a}{H}.

积分两个基函数,各自面积都是 H/2H/2,得到梯形公式

T(f)=H2[f(a)+f(b)].T(f)=\frac H2[f(a)+f(b)].

fC2[a,b]f\in C^2[a,b],则存在 ξ(a,b)\xi\in(a,b) 使

I(f)T(f)=H312f(ξ).I(f)-T(f)=-\frac{H^3}{12}f''(\xi).

凸函数满足 f0f''\ge0,弦位于图像上方,所以梯形面积偏大,即 IT0I-T\le0,与误差公式符号一致。梯形公式对一次以下多项式精确;二次项通常产生非零误差。

梯形网格加密对二次函数的误差缩减

计算 I=01x2dx=1/3I=\int_0^1x^2\,\mathrm dx=1/3。单个梯形给出

T1=12[f(0)+f(1)]=12,T_1=\frac12[f(0)+f(1)]=\frac12,

T1I=1/6T_1-I=1/6。把区间分成两段,步长 h=1/2h=1/2,复合梯形为

T2=12[12f(0)+f(1/2)+12f(1)]=12(0+14+12)=38.T_2=\frac12\left[\frac12f(0)+f(1/2)+\frac12f(1)\right] =\frac12\left(0+\frac14+\frac12\right) =\frac38.

此时 T2I=1/24T_2-I=1/24,恰为原误差的四分之一。因为 f=2f''=2 为常数,二阶全局误差关系在此不是近似比例,而是精确比例。

二次插值导出 Simpson 公式

取端点 a,ba,b 和中点 m=(a+b)/2m=(a+b)/2,对三点二次插值后积分,得到

S(f)=H6[f(a)+4f(m)+f(b)].S(f)=\frac H6[f(a)+4f(m)+f(b)].

权重 1:4:11:4:1 来自 Lagrange 基函数的积分,不是经验配比。虽然由二次插值推导,Simpson 公式对三次多项式也精确:对称节点会使相应奇次误差积分抵消。若 fC4[a,b]f\in C^4[a,b],则存在 ξ(a,b)\xi\in(a,b) 使

I(f)S(f)=H52880f(4)(ξ).I(f)-S(f)=-\frac{H^5}{2880}f^{(4)}(\xi).
四次多项式揭示 Simpson 的首个误差项

f(x)=x4f(x)=x^4[0,1][0,1] 上求积。真实积分为 I=1/5I=1/5,Simpson 公式给出

S=16[f(0)+4f(1/2)+f(1)]=16(0+14+1)=524.S=\frac16\left[f(0)+4f(1/2)+f(1)\right] =\frac16\left(0+\frac14+1\right) =\frac5{24}.

所以

IS=15524=1120.I-S=\frac15-\frac5{24}=-\frac1{120}.

另一方面,f(4)=24f^{(4)}=24,误差公式给 24/2880=1/120-24/2880=-1/120,完全相符。若改为任意三次以下多项式,四阶导数为零,Simpson 结果精确。

复合求积把局部公式铺满区间

在等距网格 xi=a+ihx_i=a+ih 上,h=(ba)/nh=(b-a)/n。复合梯形公式为

Tn=h[12f(x0)+i=1n1f(xi)+12f(xn)].T_n=h\left[\frac12f(x_0)+\sum_{i=1}^{n-1}f(x_i) +\frac12f(x_n)\right].

fC2[a,b]f\in C^2[a,b],则

ITn=(ba)h212f(ξ)I-T_n=-\frac{(b-a)h^2}{12}f''(\xi)

对某个 ξ(a,b)\xi\in(a,b) 成立;因此固定区间上全局误差为 O(h2)O(h^2)。局部每段误差是 O(h3)O(h^3),约有 (ba)/h(b-a)/h 段,相加后成为二阶。

复合 Simpson 要求 nn 为偶数,把相邻两个子区间配成一组:

Sn=h3[f(x0)+f(xn)+41in1i 为奇数f(xi)+22in2i 为偶数f(xi)].S_n=\frac h3\left[ f(x_0)+f(x_n) +4\sum_{\substack{1\le i\le n-1\\i\text{ 为奇数}}}f(x_i) +2\sum_{\substack{2\le i\le n-2\\i\text{ 为偶数}}}f(x_i) \right].

fC4[a,b]f\in C^4[a,b],则

ISn=(ba)h4180f(4)(ξ),I-S_n=-\frac{(b-a)h^4}{180}f^{(4)}(\xi),

故全局误差为 O(h4)O(h^4)。步长减半时,渐近区内梯形误差约缩为四分之一,Simpson 误差约缩为十六分之一。这是经验阶检验:若实测比例长期不接近理论值,可能是网格尚粗、光滑性不足、舍入占主导或实现权重有误。

非等距网格不能直接套用上述统一 hh 的复合权重。端点存在奇性或函数在局部快速变化时,均匀加密也可能浪费求值;分区、变量代换或自适应求积更合适。误差阶从来附带正则性和网格假设。

Taylor 展开导出前向与中心差分

xx 附近展开

f(x+h)=f(x)+hf(x)+h22f(x)+h36f(x)+O(h4).f(x+h)=f(x)+hf'(x)+\frac{h^2}{2}f''(x) +\frac{h^3}{6}f'''(x)+O(h^4).

移项并除以 hh,得到前向差分

Dh+f(x)=f(x+h)f(x)h=f(x)+h2f(x)+O(h2),D_h^+f(x)=\frac{f(x+h)-f(x)}h =f'(x)+\frac h2f''(x)+O(h^2),

所以一般只有一阶精度。再写出 f(xh)f(x-h) 的展开,用正向式减去反向式,偶次项抵消:

Dh0f(x)=f(x+h)f(xh)2h=f(x)+h26f(x)+O(h4).D_h^0f(x)=\frac{f(x+h)-f(x-h)}{2h} =f'(x)+\frac{h^2}{6}f'''(x)+O(h^4).

中心差分为二阶。把两式相加则得到二阶导数公式

f(x+h)2f(x)+f(xh)h2=f(x)+h212f(4)(x)+O(h4).\frac{f(x+h)-2f(x)+f(x-h)}{h^2} =f''(x)+\frac{h^2}{12}f^{(4)}(x)+O(h^4).

公式位于区间内部时可使用对称节点;靠近边界没有区间外数据,往往要用单边差分或额外边界条件。单边与中心公式不能只凭相同点数互换,因为它们的对称性和误差阶不同。

Richardson 外推消去主误差项

若某个近似满足

A(h)=L+chp+O(hp+q),A(h)=L+ch^p+O(h^{p+q}),

则步长减半时 A(h/2)=L+chp/2p+O(hp+q)A(h/2)=L+c h^p/2^p+O(h^{p+q})。线性组合

R(h)=2pA(h/2)A(h)2p1R(h)=\frac{2^pA(h/2)-A(h)}{2^p-1}

消去 chpch^p。中心差分有 p=2p=2,在足够光滑且对称展开成立时,

R(h)=4Dh/20Dh03R(h)=\frac{4D_{h/2}^0-D_h^0}{3}

把二阶误差提升到四阶。外推依赖已知误差展开;若函数不够光滑、两个步长使用不同数据噪声,或已经进入舍入主导区,代数组合不会自动改善结果。

中心差分与 Richardson 外推求 cos 0

f(x)=sinxf(x)=\sin xx=0x=0 求导,真值为一。中心差分化为

Dh0=sinhsin(h)2h=sinhh.D_h^0=\frac{\sin h-\sin(-h)}{2h}=\frac{\sin h}{h}.

取弧度步长 h=0.2h=0.2h/2=0.1h/2=0.1

D0.200.993346654,D0.100.998334166.D_{0.2}^0\approx0.993346654,\qquad D_{0.1}^0\approx0.998334166.

Richardson 外推给出

R(0.2)=4(0.998334166)0.99334665430.999996670.R(0.2) =\frac{4(0.998334166)-0.993346654}{3} \approx0.999996670.

原来的绝对误差分别约为 6.65×1036.65\times10^{-3}1.67×1031.67\times10^{-3},外推后约为 3.33×1063.33\times10^{-6}。结果接近一,也符合中心差分主误差随 h2h^2 缩小的方向。

步长过小会放大舍入和测量噪声

只看 Taylor 截断误差,减小 hh 似乎总是有利。但差分分子是两个接近数之差。若观测值为 f~(x±h)=f(x±h)+e±\widetilde f(x\pm h)=f(x\pm h)+e_\pm,且 e±δ|e_\pm|\le\delta,则中心差分中的数据误差满足

e+e2hδh.\left|\frac{e_+-e_-}{2h}\right| \le\frac{\delta}{h}.

步长缩小十倍,这个最坏上界放大十倍。浮点求值也有类似行为:若两个函数值量级约为 f(x)|f(x)|,舍入贡献常可粗略写成 Cruf(x)/hC_ru|f(x)|/h,其中 uu 是单位舍入误差、CrC_r 与求值和运算细节有关。

中心差分的总误差可用简化模型

E(h)Cth2+δhE(h)\lesssim C_t h^2+\frac{\delta}{h}

理解。第一项是截断误差,随 hh 减小;第二项是数据或舍入误差,随 hh 减小反而增大。二者平衡给出的最优尺度约满足 h3δ/Cth^3\asymp\delta/C_t,而不是“取机器能表示的最小正数”。实际计算可逐步减半步长,观察结果先稳定后抖动的转折,并用高精度或独立公式复核。

相同测量误差在两个步长下的放大

假设每个函数观测的绝对误差不超过 10610^{-6}。中心差分的数据误差上界为 106/h10^{-6}/h。当 h=102h=10^{-2} 时,上界为 10410^{-4};当 h=105h=10^{-5} 时,上界变为 10110^{-1}

后一个步长小了一千倍,却允许导数误差放大到前者的一千倍。若真实导数的量级为一,0.10.1 已不可忽略。这个例子没有声称误差每次都达到上界;它说明在缺少误差相关性信息时,极小步长无法保证更准。

求积也要检查舍入、奇性与停止准则

积分不像微分那样直接除以小步长,但极细网格会增加函数求值和加法次数。大量同号或异号项累加可能产生舍入,函数若在端点附近有奇性,经典光滑误差公式也不再适用。对振荡积分,粗网格还可能把正负振荡错误混叠成看似稳定的结果。

自适应求积通常比较同一区间上两个不同阶或不同细化程度的估计,再优先细分误差指示大的区间。停止条件要同时包含绝对与相对容差,例如

QfineQcoarseτabs+τrelQfine.|Q_{\text{fine}}-Q_{\text{coarse}}| \le \tau_{\rm abs}+\tau_{\rm rel}|Q_{\text{fine}}|.

差值是误差估计而非真误差;若两个公式因同一欠采样而给出相近错误结果,仍可能误判收敛。改变节点布局、作变量代换或与已知界比较能提供独立证据。

理论四阶意味着任意步长都比二阶公式准确

误差阶只描述 h0h\to0 且截断误差主导时的渐近斜率。四阶公式可能有更大的常数、需要更多函数值,并可能更早受到噪声或舍入限制。具体误差必须通过网格序列验证。

差分步长越小,导数越接近真值

截断误差会减小,数据误差和消去后的舍入误差却大致按 1/h1/h 放大。真实误差通常呈先降后升的形状,存在与函数尺度、数据精度相关的有效步长区间。

练习:求积、差分与误差平衡

练习 1:梯形与 Simpson 的代数精确性

用单个梯形公式和 Simpson 公式计算 02x3dx\int_0^2x^3\,\mathrm dx,并与精确值比较。

查看提示
中点为 1,分别代入权重 1:1 与 1:4:1。
查看解答

精确积分为 [x4/4]02=4[x^4/4]_0^2=4。梯形公式给

T=22[f(0)+f(2)]=8,T=\frac22[f(0)+f(2)]=8,

误差为四。Simpson 公式给

S=26[f(0)+4f(1)+f(2)]=13(0+4+8)=4.S=\frac26[f(0)+4f(1)+f(2)] =\frac13(0+4+8)=4.

三次函数被 Simpson 精确积分,而梯形只保证对一次以下多项式精确。

练习 2:复合梯形的二阶缩放

用四个等长子区间的复合梯形公式计算 01x2dx\int_0^1x^2\,\mathrm dx。求误差,并与两个子区间时的误差 1/241/24 比较。

查看提示
列出 0、1/4、1/2、3/4、1 五个节点的平方。
查看解答

h=1/4h=1/4,函数值为 0,1/16,1/4,9/16,10,1/16,1/4,9/16,1,故

T4=14(0+116+14+916+12)=1132.T_4=\frac14\left(0+\frac1{16}+\frac14+\frac9{16}+\frac12\right) =\frac{11}{32}.

由于真值为 1/31/3

T4I=113213=196.T_4-I=\frac{11}{32}-\frac13=\frac1{96}.

1/961/96 正好是 1/241/24 的四分之一,与步长减半时二阶误差缩小四倍一致。

练习 3:对三次函数作 Richardson 消项

f(x)=x3f(x)=x^3x=1x=1 求导。分别计算中心差分 D0.20,D0.10D_{0.2}^0,D_{0.1}^0,再作一次 Richardson 外推。

查看提示
先把 (1+h)3(1h)3(1+h)^3-(1-h)^3 展开,中心差分只剩 3+h23+h^2
查看解答

直接展开得

Dh0=(1+h)3(1h)32h=3+h2.D_h^0=\frac{(1+h)^3-(1-h)^3}{2h}=3+h^2.

所以 D0.20=3.04D_{0.2}^0=3.04D0.10=3.01D_{0.1}^0=3.01。外推为

4(3.01)3.043=3,\frac{4(3.01)-3.04}{3}=3,

恰等于 f(1)=3f'(1)=3。这是因为误差只有 h2h^2 项,一次外推将其完全消去。

练习 4:截断与噪声的最优尺度

设中心差分总误差的估计模型为

E(h)=h26+108h,h>0.E(h)=\frac{h^2}{6}+\frac{10^{-8}}h, \qquad h>0.

求使该模型最小的步长,并估计最小误差。

查看提示
E(h)=h2/6+108/hE(h)=h^2/6+10^{-8}/h 求导,并令导数为零。
查看解答

求导得

E(h)=h3108h2.E'(h)=\frac h3-\frac{10^{-8}}{h^2}.

令其为零得到 h3=3×108h^3=3\times10^{-8},所以

h=(3×108)1/33.107×103.h_*=(3\times10^{-8})^{1/3}\approx3.107\times10^{-3}.

代回可得

E(h)(3.107×103)26+1083.107×1034.83×106.E(h_*)\approx\frac{(3.107\times10^{-3})^2}{6} +\frac{10^{-8}}{3.107\times10^{-3}} \approx4.83\times10^{-6}.

E(h)=1/3+2×108/h3>0E''(h)=1/3+2\times10^{-8}/h^3>0,所以这是唯一极小值。继续减小步长会让第二项主导。

概念之间的承接

进一步学习资源

课程 · 2012

Introduction to Numerical Analysis

Laurent Demanet

用于核对 M10 各类算法的误差阶、稳定性条件、停止准则和可复算例题。

打开官方来源

MIT 数值分析课程系统覆盖插值求积、误差估计、外推与微分方程离散。阅读算法时可用本章的四项记录表复算:节点和权重、光滑性假设、主误差阶、网格加密比。

书籍 · 2016

Calculus Volume 1

Gilbert Strang, Edwin Herman

用于核对基础微积分定义、定理条件、分步例题与练习。

打开官方来源

OpenStax Calculus Volume 1 可用于核对 Taylor 型局部展开、导数和定积分计算。数值公式额外引入了有限精度与离散数据,因此解析公式正确只是起点,还要检查步长和舍入。

下一章:离散微分方程中的稳定性

有限差分给出了导数的局部近似,却没有保证把它反复用于时间推进后仍然可靠。下一章把差分嵌入常微分和偏微分方程,区分一致性、稳定性与收敛性,并比较显式方法的步长限制和隐式方法的线性求解成本。