复合梯形公式的误差分析与步长优化
字数 1722 2025-11-04 20:47:27
复合梯形公式的误差分析与步长优化
题目描述
考虑使用复合梯形公式计算积分 \(I = \int_a^b f(x) \, dx\),其中 \(f(x)\) 在区间 \([a, b]\) 上二阶连续可微。我们需要分析该数值积分方法的截断误差,并探讨如何通过优化步长 \(h\) 来平衡计算效率与精度要求。
解题过程
- 复合梯形公式的构造
- 将积分区间 \([a, b]\) 均匀划分为 \(n\) 个子区间,步长 \(h = \frac{b-a}{n}\),节点为 \(x_i = a + ih\)(\(i = 0, 1, \dots, n\))。
- 在每个子区间 \([x_{i-1}, x_i]\) 上应用梯形公式(即用线性插值函数近似 \(f(x)\) 并积分),再求和得到复合梯形公式:
\[ T_n = h \left[ \frac{f(a)}{2} + f(x_1) + f(x_2) + \dots + f(x_{n-1}) + \frac{f(b)}{2} \right]. \]
- 误差分析推导
- 局部误差:考虑单个子区间 \([x_{i-1}, x_i]\) 上的梯形公式误差。利用积分中值定理或泰勒展开,可推导出局部截断误差为:
\[ E_i^{\text{local}} = -\frac{f''(\xi_i)}{12} h^3, \quad \xi_i \in [x_{i-1}, x_i]. \]
- 全局误差:将 \(n\) 个子区间的局部误差累加,并利用 \(f''(x)\) 的连续性(根据介值定理,存在 \(\eta \in [a, b]\) 使得 \(\sum f''(\xi_i) = n f''(\eta)\)),得到全局误差:
\[ E_n = \sum_{i=1}^n E_i^{\text{local}} = -\frac{b-a}{12} f''(\eta) h^2. \]
- 结论:复合梯形公式的误差阶为 \(O(h^2)\),即当 \(h\) 减半时,误差大致缩小为原来的 1/4。
- 步长优化策略
- 精度控制:若要求误差满足 \(|E_n| \leq \varepsilon\),可解不等式 \(\left| \frac{b-a}{12} M_2 \right| h^2 \leq \varepsilon\)(其中 \(M_2 = \max_{x \in [a,b]} |f''(x)|\)),得到步长上界:
\[ h \leq \sqrt{ \frac{12\varepsilon}{(b-a)M_2} }. \]
- 计算成本权衡:函数求值次数为 \(n+1 \propto 1/h\)。若 \(M_2\) 未知,可采用自适应策略:
- 从初始步长 \(h_0\) 开始计算 \(T(h_0)\)。
- 将步长减半为 \(h_0/2\),计算 \(T(h_0/2)\),利用误差公式近似估计误差 \(|T(h_0) - T(h_0/2)| \approx 3|E(h_0)|\)。
- 若估计误差满足精度要求,则停止;否则继续对半分割步长,直至收敛。
- 实例验证
- 以 \(\int_0^1 e^{-x^2} dx\) 为例,取 \(n=4\)(\(h=0.25\)):
\[ T_4 = 0.25 \left[ \frac{f(0)}{2} + f(0.25) + f(0.5) + f(0.75) + \frac{f(1)}{2} \right] \approx 0.742984. \]
- 与精确值 0.746824 比较,误差约为 0.00384。若 \(n=8\)(\(h=0.125\)),误差减小至约 0.00096,符合 \(O(h^2)\) 的收敛阶。
总结:复合梯形公式的误差由函数二阶导数和步长共同决定。通过理论误差界或自适应步长调整,可在保证精度的前提下优化计算效率。