当我们知道被积函数时,可以利用Scipy模块下的子模块integrate里的quad函数来求这个积分的值,本节以几个问题的形式展示SciPy下如何求积分。
- 问题一
函数为f(x)=x+1,求积分的上下限为[1,2],数学表达式为:
求解代码如下:
# 导入库
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)
程序的执行结果是