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