2. 数值积分基本概念与误差来源
数值积分要解决的问题,本质上是把一个连续区间上的定积分 I = ∫ab f(x) dx 用有限个函数值的加权和来近似。理解这一点,是后续选择算法、评估误差的前提。本节围绕定积分的定义、求积公式的构造思想、截断误差与舍入误差的区别,以及病态问题的初步识别展开。
一、定积分定义与数值近似的出发点
定积分在数学上定义为黎曼和的极限:把区间 [a, b] 分成 n 个子区间,在每个子区间上任取一点 ξi,作和 Sn = Σ f(ξi)·Δxi,当最大子区间长度趋于零时,若极限存在且与取点方式无关,则该极限即为定积分。这个定义直接给出了数值积分的构造思路:用有限个采样点的函数值乘以相应权重,去逼近无限细分下的极限值。
因此,任何求积公式都可以写成统一形式:
I ≈ Q[f] = Σ_{i=0}^{n} A_i · f(x_i)
其中 xi 称为求积节点,Ai 称为求积系数(权重)。不同算法的差别,就在于节点如何选取、权重如何确定。例如梯形公式取两个端点、权重各为 (b−a)/2;辛普森公式取端点与中点、权重比为 1:4:1 再乘 (b−a)/6。节点和权重的选取方式,决定了公式的精度阶和适用范围。
二、求积公式的构造思想:代数精度
构造求积公式最常用的准则是代数精度:要求公式对尽可能高次的代数多项式精确成立。若某公式对所有次数不超过 m 的多项式都能给出精确积分值,而对 m+1 次多项式不精确,则称其代数精度为 m。梯形公式代数精度为 1,辛普森公式为 3,这解释了为什么辛普森公式在同样采样点数下通常更准。
构造时,可令公式对 1, x, x², …, xm 逐一精确成立,得到关于节点和权重的方程组并求解。插值型求积公式正是这一思想的系统化:用 f 的插值多项式代替 f 本身积分,权重由拉格朗日基函数的积分给出。这也说明,求积公式的误差与插值余项的积分直接相关,为截断误差分析提供了理论依据。
三、截断误差与舍入误差:两种性质不同的偏差
截断误差来自公式对真实积分的近似,是“方法本身”的误差。以复化梯形公式为例,其截断误差为
E_T = −(b−a)/12 · h² · f''(ξ), ξ ∈ (a, b)
其中 h = (b−a)/n 为步长。可见截断误差与 h² 成正比,步长减半误差约降为四分之一;同时它依赖 f'' 的大小,函数越“弯曲”,误差越大。复化辛普森公式的截断误差为 −(b−a)/180 · h⁴ · f⁽⁴⁾(ξ),收敛更快,但要求 f 四阶可导。
舍入误差则来自计算机浮点表示与运算。每个函数值 f(xi) 都有约 ε·|f(xi)| 量级的表示误差(双精度 ε≈2.2×10⁻¹⁶),加权求和时这些误差会累积。更关键的是,当步长 h 不断减小时,截断误差按 h² 或 h⁴ 下降,但舍入误差往往按 1/h 或更大速率增长,两者叠加存在一个最优步长:继续细分反而使总误差上升。这正是数值积分不能盲目“加密网格”的原因。
四、病态问题的初步识别
数值积分的“病态”通常表现为:被积函数在积分区间内存在奇点、剧烈振荡、尖峰或导数极大,使得求积公式的误差估计前提失效。初步识别可从三方面入手:
- 看端点与内部奇异性:如 ∫01 x−1/2 dx 在 x=0 处无界,普通梯形公式会严重失真,需换用变量替换或高斯型公式。
- 看函数振荡程度:高频振荡函数(如 sin(100x))在固定节点下会被“欠采样”,此时应增加节点或采用专门振荡积分方法。
- 看误差随 n 的变化趋势:对同一积分用 n、2n、4n 计算,若误差不按理论阶下降,说明函数光滑性不足或已受舍入误差干扰,属于病态信号。
例如考察 f(x)=1/(1+100x²) 在 [−1,1] 上的积分,函数在 0 附近有陡峭尖峰。用复化梯形取 n=8 与 n=64 对比,若两次结果差异明显且不随理论阶收敛,就应怀疑节点未充分刻画尖峰,需在峰值附近加密或改用自适应策略。这类“先诊断、再选算法”的思路,是后续章节算法选择的基本功。
综上,定积分定义给出了“加权求和逼近极限”的框架,代数精度提供了构造与比较公式的标尺,截断误差与舍入误差揭示了精度提升的两条相反约束,而病态识别则提醒我们在套用公式前先审视被积函数的性态。掌握这四点,才能在后续面对具体积分时做出合理的算法选择与误差评估。