scipy.integrate.dblquad

scipy.integrate.dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08)[源代码]

计算二重积分。

返回的双(定)积分 func(y, x) 从… x = a..by = gfun(x)..hfun(x)

参数
func可调用

至少包含两个变量的Python函数或方法:y必须是第一个参数,x必须是第二个参数。

a, b浮动

x中的积分极限: a < b

gfun可调用或浮动

y中的下限曲线,它是一个接受单个浮点参数(X)并返回浮点结果的函数,或者是表示恒定边界曲线的浮点数。

hfun可调用或浮动

y中的上边界曲线(要求与 gfun )。

args序列,可选

要传递的额外参数 func

epsabs浮动,可选

绝对公差直接传递给内部一维积分。默认值为1.49e-8。 dblquad 试图获得以下精度: ``abs(i-result) <= max(epsabs, epsrel*abs(i))` 哪里 i =的内积分 func(y, x) 从… gfun(x)hfun(x) ,以及 result 是数值近似。看见 epsrel 下面。

epsrel浮动,可选

内部一维积分的相对公差。默认值为1.49e-8。如果 epsabs <= 0epsrel 必须大于5e-29和 50 * (machine epsilon) 。看见 epsabs 上面。

退货
y浮动

得到的积分。

abserr浮动

对误差的估计。

参见

quad

单积分

tplquad

三重积分

nquad

n维积分

fixed_quad

定阶高斯求积

quadrature

自适应高斯求积

odeint

ODE积分器

ode

ODE积分器

simpson

采样数据积分器

romb

采样数据积分器

scipy.special

对于正交多项式的系数和根

示例

的二重积分的计算 x * y**2 越过盒子 x 范围从0到2,并且 y 范围从0到1。

>>> from scipy import integrate
>>> f = lambda y, x: x*y**2
>>> integrate.dblquad(f, 0, 2, lambda x: 0, lambda x: 1)
    (0.6666666666666667, 7.401486830834377e-15)