📜  Python| Scipy 集成.dblquad() 方法(1)

📅  最后修改于: 2023-12-03 15:19:16.552000             🧑  作者: Mango

Python| Scipy 集成.dblquad() 方法

Scipy是Python的一个强大的科学计算库,其中的dblquad()函数可以用于二重积分的计算。

介绍

dblquad()函数可以计算四个限定的积分,其中两个是对x的定积分范围,两个是对y的定积分范围。

dblquad(func, a, b, gfun, hfun)

  • func:被积函数,可以输入一个自定义函数或lambda表达式
  • a, b:表示x的定积分范围,为浮点数或者无穷大
  • gfun:函数,返回y的下限
  • hfun:函数,返回y的上限
例子
from scipy import integrate

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

# lambda表达式
# func = lambda x, y: x*y

# 定积分范围
a = 0
b = 1

# y的下限和上限
gfun = lambda x: x**2
hfun = lambda x: x

# 进行积分
result, error = integrate.dblquad(func, a, b, gfun, hfun)

# 输出结果
print(f"result: {result}, error: {error}")

运行上述程序,输出结果为:

result: 0.012499999999999999, error: 1.3844793587030556e-13

这个例子中,我们将要计算 $ \int_0^1 \int_{x^2}^{x} xy , dy , dx $,即为第一象限中 $y=x^2$ 与 $y=x$ 所形成的曲边梯形面积。

结论

dblquad()函数是一个非常实用的科学计算库函数,可以解决各种二重积分,可以用于一些较为复杂的计算需求。