SciPy - integrate.dblquad() 方法



SciPy 的 integrate.dblquad() 用于计算双重数值积分,这意味着它接受两个变量(例如 (x, y))进行运算。线性代数数学中使用了两个变量的计算。

语法

以下是 SciPy integrate.dblquad() 方法的语法:

dblquad(func, a, b, lambda x: 0, lambda x: 1)

参数

此方法接受以下参数:

  • func:此参数用于处理积分。
  • a:将整数数值传递给此参数(x 的积分上限)。
  • b:将整数数值传递给此参数(x 的积分下限)。
  • lambda x: 0:此参数用于表示关于 x 的内层积分变量 y 的下限 (0)。
  • lambda x: 1:此参数用于表示关于 x 的内层积分变量 y 的上限 (1)。

返回值

此方法以浮点数形式返回结果。

示例 1

以下基本示例演示了 integrate.dblquad() 方法的使用。

from scipy import integrate

# define the function 
def fun(x, y):
    return x + y

# perform the operation using dblquad()
res, err = integrate.dblquad(fun, 0, 1, lambda x: 0, lambda x: 1)

# display the result
print("The result is ", res)
print("The estimated error is ", err)

输出

以上代码产生以下输出:

The result is  1.0
The estimated error is  1.662923778137264e-14

示例 2

在这里,我们对函数 f(x,y) = x.y 进行双重积分,积分区域覆盖 x,并且 x 的范围在 0 到 1 之间。

from scipy.integrate import dblquad

# define the function 
def fun(x, y):
    return x * y

# perform the operation using dblquad()
res, err = dblquad(fun, 0, 1, lambda x: x**2, lambda x: x)

# display the result
print("The result is ", res)
print("The estimated error is ", err)

输出

以上代码产生以下输出:

The result is  0.04166666666666666
The estimated error is  1.0313680578775149e-15

示例 3

下面是 dblquad() 的另一个演示,它使用三个变量(例如 (x, y, z))执行任务,并借助 lambda 函数计算结果。

在数学上,它表示为 f(x,y) = c(x+y),在 x 的某个区域内,并且具有范围区间。

from scipy.integrate import dblquad

# define the function 
def fun(x, y, c):
    return c * (x + y)

c = 2

# perform the operation using dblquad()
res, err = dblquad(fun, 0, 2, lambda x: 1, lambda x: 3, args=(c,))

# display the result
print("The result is ", res)
print("The estimated error is ", err)

输出

以上代码产生以下输出:

The result is  24.0
The estimated error is  2.6645352591003757e-13
scipy_reference.htm
广告