核心概述

在区间 [a,b] 上用复化梯形与辛普森等规则近似积分并控制误差阶,作为固定步长的一般数值积分方法。

原文引述

Description: Composite trapezoid and Simpson rules for numerical integration on [a,b]. Deterministic, easy to implement; use adaptive Simpson for automatic accuracy control. Time: O(n) function evaluations Status: tested ——摘自本节点现有英文注释

展开阐述

  • 定义与背景、典型适用场景

    • 数值积分(Numerical Integration):对不可解析或成本较高的 f(x) 进行 ∫_a^b f(x) dx 的近似计算。
    • 固定步长规则(复化梯形/辛普森)适合平滑函数;当函数局部变化剧烈或存在奇异点时固定步长不易匹配,应考虑自适应方案(见 105-数值算法-自适应积分)。
  • 接口/字段/输入输出语义(据实现约定)

    • double trapz(double a, double b, int n, auto f)
      • 将 [a,b] 均分为 n 段(n≥1),返回复化梯形近似。
    • double simpson(double a, double b, int n_even, auto f)
      • n_even 为偶数,按 2 点一组应用 1/3 Simpson,返回复化辛普森近似。
    • 可选:romberg(a,b,f,levels)
      • 在复化梯形序列上做 Richardson 外推的 Romberg 表,提高阶数。
    • 输出语义:返回对 ∫_a^b f(x) dx 的数值近似;n 越大在平滑情形下通常越精确。
  • 核心流程与关键要点(公式与误差阶)

    • 复化梯形(Trapezoid)
      • h=(b−a)/n,x_i=a+i·h, I_T ≈ h·[ (f(x_0)+f(x_n))/2 + Σ_{i=1}^{n−1} f(x_i) ],
      • 误差阶约 O(h^2)(依赖二阶导数上界)。
    • 复化辛普森(Simpson 1/3)
      • n 为偶数,h=(b−a)/n, I_S ≈ h/3 · [ f(x_0)+f(x_n) + 4·Σ_{奇 i} f(x_i) + 2·Σ_{偶 i, 2≤i≤n−2} f(x_i) ],
      • 误差阶约 O(h^4)(依赖四阶导数上界)。
    • Romberg(可选)
      • 构造 T(h), T(h/2), T(h/4)…,按 R_{k,m}=R_{k,m−1} + (R_{k,m−1}−R_{k−1,m−1})/(4^{m−1}−1) 递推外推。
  • 数值稳定性/精度注意

    • 步长与误差:固定步长难以适配未知奇异/剧烈变化区域;建议优先考虑 105-数值算法-自适应积分 实现自动精度控制。
    • 奇异点与不连续:在奇点处拆分区间或做变量代换;对强振荡可结合合适的积分技术(仅在仓库层面提示,不展开)。
    • 浮点稳定性:长区间或函数值差异极大时注意累计误差;Kahan 求和有助减少损失。
    • 并行化:f(x_i) 的评估可并行;合并求和时注意加法顺序的数值稳定。
  • 复杂度与边界条件、常见变体/扩展

    • 复化梯形/辛普森:O(n) 次函数评估与 O(n) 运算;Romberg 约 O(n) 评估 + O(n) 外推。
    • 当需按目标精度 ε 自动控制时,改用 105-数值算法-自适应积分(自适应辛普森)。

关联节点