SciPy 积分

2024 年 8 月 29 日 | 阅读 2 分钟

有时一个函数太复杂以至于无法积分,或者无法进行解析积分;那么,它可以通过数值积分法来解决。 SciPy 提供了一些执行数值积分的例程。 scipy.integrate 库包含大部分这些函数。

  • 单重积分

数值积分有时被称为求积。 Quad 函数对于 SciPy 的积分函数至关重要。 quad() 函数的语法如下

参数

f - 要积分的函数名称

a-它是下限。

b- 它是上限。

让我们考虑高斯函数,在 a 到 b 的范围内积分。 我们定义函数f(x)= e-x2,这可以使用 lambda 表达式完成,并在给定的函数上应用 quad 方法。

输出

(0.7468241328124271, 8.291413475940725e-15)

在上面的程序中,我们使用了 quad() 函数,它返回两个值。 第一个值是积分,第二个值是整数值中绝对误差的估计值。

注意: 由于 quad() 函数需要函数作为第一个参数,因此我们不能直接将表达式作为参数传递。 它允许正负无穷大作为极限。

多重积分

诸如双重积分和三重积分之类的多重积分归结为函数 dblquad(), tplquad(),nquad()。 在这里,我们考虑使用 scipy.integrate.dblquad(func,a,b,gfun,hfun) 解决双重积分问题。 第一个参数 func 是要积分的函数的名称,a 和 b 是 x 变量的下限和上限。 而 gfun 和 hfun 是定义 y 变量的下限和上限的函数的名称。 让我们考虑以下示例

输出

(-0.5, 4.412025764622231e-14)

scipy.integarte 包含许多其他积分函数,包括 nquad(),它执行 n 重多重积分。


下一个主题SciPy 插值