个性化阅读
专注于IT技术分析

SciPy如何计算积分?详细用法看这里————

有时, 一个功能积分起来非常复杂, 或者不能通过分析积分。然后可以通过数值积分法求解。 SciPy提供了一些执行数值积分的例程。 scipy.integrate库包含其中大多数功能。

  • 单积分

数值积分有时称为正交。 Quad功能对于SciPy的积分功能至关重要。 quad()函数的语法如下:

scipy.integrate.quad(f, a, b), 

参数:

f-要积分的函数名称

a-这是一个下限。

b-是上限。

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

import scipy.integrate
from numpy import exp
f= lambda x:exp(-x**2)
i = scipy.integrate.quad(f, 0, 1)
print(i)

输出

(0.7468241328124271, 8.291413475940725e-15)

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

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

多重积分

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

import scipy.integrate
from numpy import exp
from math import sqrt
f = lambda x, y : 16*x*y
g = lambda x : 0
h = lambda y : sqrt(1-4*y**2)
i = scipy.integrate.dblquad(f, 0, 0.5, g, h)
print(i)

输出

(-0.5, 4.412025764622231e-14)

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


赞(0)
未经允许不得转载:srcmini » SciPy如何计算积分?详细用法看这里————

评论 抢沙发

评论前必须登录!