| 方法 | 积分值 | 相对误差 |
|---|
各方法误差阶次
梯形法:$E = O(h^2)$,辛普森:$E = O(h^4)$
辛普森3/8:$E = O(h^4)$,高斯$n$点:$E = O(h^{2n})$
龙贝格:$E = O(h^{2k})$(外推 $k$ 次后)
$$\int_a^b f(x)\,dx \approx \frac{h}{2}[f(x_0)+2f(x_1)+\cdots+2f(x_{n-1})+f(x_n)]$$梯形法、辛普森法、高斯求积、龙贝格积分同时比较。以log-log图实时可视化误差收敛阶次。
| 方法 | 积分值 | 相对误差 |
|---|
梯形法:$E = O(h^2)$,辛普森:$E = O(h^4)$
辛普森3/8:$E = O(h^4)$,高斯$n$点:$E = O(h^{2n})$
龙贝格:$E = O(h^{2k})$(外推 $k$ 次后)
$$\int_a^b f(x)\,dx \approx \frac{h}{2}[f(x_0)+2f(x_1)+\cdots+2f(x_{n-1})+f(x_n)]$$数值积分的核心思想是用有限个采样点的加权和来近似连续积分。梯形法是其中最基础的一种,它将积分区间等分,用梯形面积之和来近似曲边梯形的面积。
$$\int_a^b f(x)\,dx \approx \frac{h}{2}[f(x_0)+2f(x_1)+2f(x_2)+\cdots+2f(x_{n-1})+f(x_n)]$$其中,$h = (b-a)/n$ 是子区间宽度,$x_0=a, x_1, ..., x_n=b$ 是等距节点。误差与 $h^2$ 成正比,记为 $O(h^2)$。
高斯求积法则采用非等距的最优节点(高斯点)和对应的权重,其目标是使用n个点就能精确积分最高$2n-1$次的多项式,从而对光滑函数达到极高的效率。
$$\int_{-1}^{1}f(x)\,dx \approx \sum_{i=1}^{n}w_i f(x_i)$$其中 $x_i$ 是第 $i$ 个高斯点(勒让德多项式的根),$w_i$ 是对应的权重。对于一般区间 $[a, b]$ 需做变量变换。n点高斯求积的误差阶为 $O(h^{2n})$。
有限元分析(FEM):在计算单元刚度矩阵时,需要对形函数及其导数的复杂乘积在单元内进行积分。几乎全部采用高斯求积法,因为它能用最少的积分点获得足够的精度,极大提升整体计算效率。
疲劳与可靠性工程:在评估零件寿命时,需要计算应力幅值在概率密度函数下的积分(如Miner准则累积损伤)。数值积分用于处理难以解析求解的复杂分布函数,确保寿命预测的准确性。
计算流体动力学(CFD):计算通过管道截面的流量、或物体表面的总压力和升阻力时,需要对速度或压力场进行面积分。数值积分方法是这些宏观工程量的直接计算工具。
金融与保险精算:用于计算期权定价模型中的期望值积分,或保险业中损失分布的期望和风险值(VaR)。面对没有解析解的随机模型,数值积分是核心计算手段。
开始使用此工具时,有几个容易踩坑的地方需要注意。首先是“高阶方法总是正确”的误解。辛普森法则和高斯求积确实效率更高,但当函数不够平滑(例如存在不可导点、剧烈波动)时,不仅可能达不到预期精度,甚至可能比梯形法则的结果更差。例如,用具有尖锐峰值的函数进行测试,就能明显看出这种差异。
其次是分割数“n”的设置陷阱。辛普森法则要求n为偶数才能正确工作,而龙贝格积分中n必须以2的幂次(2, 4, 8, 16…)递增才能发挥最大性能。如果在工具中尝试“n=5”的辛普森法则,计算虽然会执行,但实际上内部会进行近似处理,并不能反映其真实性能。
最后要明白“误差为零”只是幻想。对数坐标图可能让误差看似线性下降,但计算始终伴随着舍入误差。如果过度增大分割数(例如n=1,000,000),计算点过多会导致舍入误差累积,反而引发精度下降的“计算饱和”现象。在工具中设置极大的n值,可以观察到图线并未持续下降,反而趋于平缓甚至上升。