数值积分Skill numerical-integration

数值积分技能专注于在数值方法中解决积分计算问题,包括识别积分类型、选择合适的求积方法(如高斯积分、自适应积分)、处理多维积分和验证准确性。它利用工具如scipy和sympy进行实现,广泛应用于数据分析、科学计算和工程模拟。关键词:数值积分、积分计算、scipy、自适应方法、数据分析、科学计算。

数据分析 0 次安装 0 次浏览 更新于 3/14/2026

name: 数值积分 description: “数值方法中数值积分的问题解决策略” allowed-tools: [Bash, Read]

数值积分

何时使用

在数值方法中处理数值积分问题时使用此技能。

决策树

  1. 识别积分类型

    • 有限区间上的定积分?
    • 反常积分(无限边界或奇点)?
    • 多维积分?
  2. 选择求积方法

    • 光滑函数,有限区间:高斯积分
    • 振荡被积函数:专门方法(Filon, Levin)
    • 端点奇点:自适应方法
    • scipy.integrate.quad(f, a, b) 用于一般一维积分
  3. 自适应积分

    • 让算法在需要时细分
    • 指定误差容限 (rtol, atol)
    • scipy.integrate.quad(f, a, b, epsabs=1e-8, epsrel=1e-8)
  4. 多维积分

    • scipy.integrate.dblquad 用于二维
    • scipy.integrate.tplquad 用于三维
    • Monte Carlo 用于更高维度
  5. 验证准确性

    • 与已知解析解比较
    • 通过细化容差检查收敛性
    • sympy_compute.py integrate "f(x)" --var x --from a --to b

工具命令

Scipy_Quad

uv run python -c "from scipy.integrate import quad; import numpy as np; result, err = quad(lambda x: np.sin(x), 0, np.pi); print('Integral:', result, 'Error:', err)"

Scipy_Dblquad

uv run python -c "from scipy.integrate import dblquad; result, err = dblquad(lambda y, x: x*y, 0, 1, 0, 1); print('Integral:', result)"

Sympy_Integrate

uv run python -m runtime.harness scripts/sympy_compute.py integrate "sin(x)" --var x --from 0 --to "pi"

关键技术

来自索引教科书:

  • [数值分析导论… (Z-Library)] 尽管数值积分是数值分析中最古老的主题之一,有大量文献,但新论文仍以相当高的速度出现。许多这些结果为特殊类别的问题提供了方法,例如振荡积分,其他则是对计算机变化的响应,例如向量流水线架构的使用。数值积分的最佳综述是Davis和Rabinowitz (1984) 的大而详细的工作。
  • [数值分析导论… (Z-Library)] 自动计算有界或无界平面区域上的反常积分,Computing 27, 253-284。 多重积分的近似计算。 Prentice-Hall, Englewood Cliffs, N。
  • [数值分析 (Burden R.L., Fair… (Z-Library)] 复合数值积分 4. 方法与软件综述 235 250 5 常微分方程初值问题 259 5. 初值问题的基本理论 5。
  • [数值分析导论… (Z-Library)] 数值积分程序的比较,J. 基于Whittaker cardinal或sine Wahba的数值方法,G. 不适定问题:针对轻度、中度和重度不适定问题及噪声数据的数值和统计方法,Tech。
  • [初等微分方程和… (Z-Library)] 2012年8月7日 21:05 c08 页号1 页码451 青色黑色 C H A P T E R 数值方法 到目前为止,我们已经讨论了使用解析技术如积分或级数展开来解决微分方程的方法。通常,重点是找到解的精确表达式。不幸的是,在工程和科学中有许多重要问题,尤其是非线性问题,这些方法要么不适用,要么非常复杂。