复合梯形公式的误差分析与步长优化
题目描述
考虑定积分 \(I = \int_a^b f(x) \, dx\),其中 \(f(x)\) 在区间 \([a, b]\) 上二阶连续可微。使用复合梯形公式 \(T_n\) 进行数值积分时,需分析其截断误差 \(E_n\) 与步长 \(h = (b-a)/n\) 的关系,并推导使总误差(截断误差与舍入误差之和)最小的最优步长 \(h_{\text{opt}}\)。假设每次函数计算的舍入误差上限为 \(\varepsilon\)。
解题过程
- 复合梯形公式的表达式
将区间 \([a, b]\) 等分为 \(n\) 个子区间,节点为 \(x_i = a + ih\)(\(i = 0, 1, \dots, n\)),则复合梯形公式为:
\[ T_n = h \left[ \frac{f(x_0)}{2} + f(x_1) + \dots + f(x_{n-1}) + \frac{f(x_n)}{2} \right]. \]
- 截断误差分析
在每个子区间 \([x_{i-1}, x_i]\) 上,梯形公式的局部截断误差为:
\[ E_{\text{local}} = -\frac{h^3}{12} f''(\xi_i), \quad \xi_i \in [x_{i-1}, x_i]. \]
由于 \(f''(x)\) 在 \([a, b]\) 上连续,根据积分中值定理,存在 \(\eta \in [a, b]\) 使得全局截断误差为:
\[ E_n = \sum_{i=1}^n E_{\text{local}} = -\frac{h^3}{12} \sum_{i=1}^n f''(\xi_i) = -\frac{h^2(b-a)}{12} f''(\eta). \]
因此,截断误差满足:
\[ |E_n| \leq \frac{h^2(b-a)}{12} M, \quad \text{其中 } M = \max_{x \in [a, b]} |f''(x)|. \]
截断误差以 \(O(h^2)\) 的速度随步长减小。
- 舍入误差分析
设每次计算 \(f(x)\) 的舍入误差独立且服从均匀分布,最大值为 \(\varepsilon\)。复合梯形公式包含 \(n+1\) 次函数计算,但首尾节点权重为 \(1/2\),中间节点权重为 1。总舍入误差 \(R_n\) 的绝对值上限为:
\[ |R_n| \leq h \left( \frac{\varepsilon}{2} + \varepsilon + \dots + \varepsilon + \frac{\varepsilon}{2} \right) = h \cdot n \varepsilon = (b-a) \varepsilon. \]
注意:舍入误差与步长 \(h\) 无关,仅由区间长度和单次误差决定。
- 总误差与最优步长
总误差 \(\text{Error} = |E_n + R_n| \leq |E_n| + |R_n|\)。代入表达式:
\[ \text{Error} \leq \frac{h^2(b-a)M}{12} + (b-a)\varepsilon. \]
但需注意,舍入误差的实际统计行为可能使问题复杂化。更合理的模型是假设舍入误差随机独立,总方差为:
\[ \text{Var}(R_n) = h^2 \left( \frac{\varepsilon^2}{4} + \underbrace{\varepsilon^2 + \dots + \varepsilon^2}_{n-1 \text{ 项}} + \frac{\varepsilon^2}{4} \right) = h^2 n \varepsilon^2 = h(b-a)\varepsilon^2. \]
此时总误差的均方根(RMS)近似为:
\[ \text{RMS Error} \approx \sqrt{ \left( \frac{h^2(b-a)M}{12} \right)^2 + h(b-a)\varepsilon^2 }. \]
为简化,通常直接最小化误差上界:
\[ U(h) = \frac{h^2(b-a)M}{12} + (b-a)\varepsilon. \]
但此上界中舍入误差项与 \(h\) 无关,无法优化。需采用更精细的模型:假设舍入误差的期望绝对值和 \(h\) 成正比(如 \(|R_n| \approx c h^{-1} \varepsilon\)),或直接使用方差模型。经典结论是,当截断误差与舍入误差量级相当时,总误差最小。设:
\[ \text{截断误差} \approx C_1 h^2, \quad \text{舍入误差} \approx C_2 h^{-1} \varepsilon, \]
则总误差 \(\approx C_1 h^2 + C_2 \varepsilon / h\)。对其求导并令导数为零:
\[ \frac{d}{dh} \left( C_1 h^2 + C_2 \frac{\varepsilon}{h} \right) = 2C_1 h - C_2 \frac{\varepsilon}{h^2} = 0 \implies h^3 = \frac{C_2 \varepsilon}{2C_1}. \]
代入 \(C_1 = (b-a)M/12\),\(C_2 \propto (b-a)\),得最优步长:
\[ h_{\text{opt}} \propto \varepsilon^{1/3}. \]
此时,总误差量级为 \(O(\varepsilon^{2/3})\),无法达到机器精度 \(\varepsilon\) 的原因在于舍入误差积累。
- 实际应用中的调整
- 若 \(f(x)\) 高阶光滑,可使用更高阶公式(如辛普森法)使截断误差降为 \(O(h^4)\),最优步长 \(h_{\text{opt}} \propto \varepsilon^{1/5}\),总误差更小。
- 当 \(\varepsilon\) 极小时(如双精度),舍入误差可忽略,步长由截断误差要求决定。
- 对于震荡或奇异函数,需采用自适应策略而非均匀步长。
总结
复合梯形公式的误差由截断误差(随 \(h\) 减小而减小)和舍入误差(随 \(h\) 减小而增大)共同决定。通过平衡两者,可推导最优步长 \(h_{\text{opt}} \propto \varepsilon^{1/3}\),使总误差最小化。实际应用中需根据函数特性选择合适积分方法。