当我们知道被积函数时,可以利用Scipy模块下的子模块integrate里的quad函数来求这个积分的值,本节以几个问题的形式展示SciPy下如何求积分。
# 导入库
from scipy import integrate
#计算积分,其中result为结果值,err为计算的误差
result, err = integrate.quad(lambda x: x + 1, 1, 2)
# 输出
print(result)
程序的执行结果为:
2.5
注意:lambda为匿名函数 ,x为该匿名函数的变量,不熟悉的可以去查找匿名函数的文档
2.问题二
对于f(x)=ax+b这种函数,a和b未知的这种函数,quad同样可以解决,因为quad有形参args可以传入一些参数进去的。
不同的时我们这是要先定义一个函数,函数体是被积函数,因为匿名函数无法定义未知变量,代码如下:
def f(x,a,b):
return a*x+b
result,err= integrate.quad(f,1,2,args=(-1,2))
print(result)
程序的执行结果是:
-0.5
总结一重积分quad()用法:quad(被积函数,下限,上限),同时要用两个变量接受,一个返回结果,一个返回误差
我们可以利用dblquad函数来解决二重积分,假设函数为x*y, a=1,b=2,g(x)=3,h(x)=x
result, error = integrate. dblquad(lambda x,y: x*y, 1, 2, lambda x: 1, lambda x :x)
print(result)
***总结dblquad函数用法dblquad(f(x,y), a, b, g(x), h(x))
三重积分
三重积分标准如下
解决三重积分使用tplquad函数实现,函数用法如下:
tplquad(f(x,y), a, b, g(x), h(x), q(x,y),t(x,y))