SciPy - integration.dblquad() 方法

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

语法

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

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

参数

此方法接受以下参数 −

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

返回值

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

示例 1

以下是展示 integrate.dblquad() 方法用法的基本示例。

from scipy import integrate

# 定义函数
def fun(x, y):
return x + y

# 使用 dblquad() 执行操作
res, err = integration.dblquad(fun, 0, 1, lambda x: 0, lambda x: 1)

# 显示结果
print("结果为 ", res)
print("估计误差为 ", err)

输出

上述代码产生以下输出 −

结果为 1.0
估计误差为 1.662923778137264e-14

示例 2

在这里,我们对覆盖区域 x 执行函数 f(x,y) = x.y 的双重积分,并且 x 介于区间 0 和1.

from scipy.integrate import dblquad

# 定义函数
def fun(x, y):
    return x * y

# 使用 dblquad() 执行操作
res, err = dblquad(fun, 0, 1, lambda x: x**2, lambda x: x)

# 显示结果
print("结果为 ", res)
print("估计误差为 ", err)

输出

上述代码产生以下输出 −

结果为 0.04166666666666666
估计误差为 1.0313680578775149e-15

示例 3

以下是 dblquad() 执行带有三个变量 say(x, y, z),并借助 lambda 函数计算结果。

从数学上讲,它表示为 f(x,y) = c(x+y),在区域 x 上,具有范围间隔。

from scipy.integrate import dblquad

# 定义函数
def fun(x, y, c):
    return c * (x + y)

c = 2

# 使用 dblquad() 执行操作
res, err = dblquad(fun, 0, 2, lambda x: 1, lambda x: 3, args=(c,))

# 显示结果
print("结果为 ", res)
print("估计误差为 ", err)

输出

上述代码产生以下输出−

结果为 24.0
估计误差为 2.6645352591003757e-13

scipy_reference.html