用python求一重積分和二重積分
阿新 • • 發佈:2019-01-05
首先是對一元函式求積分,使用Scipy下的integrate函式:
from scipy import integrate
def g(x):
return (1-x**2)**0.5
#用integrate下的quad函式可以同時求出積分結果和誤差
res,err=integrate.quad(g,-1,1) #-1和1表示積分上下限,如果是正無窮用np.inf
print(res,err)
得到的結果如下,前者是積分結果,後者是誤差
1.5707963267948986 1.0002356720661965e-09
如果是二重積分,比如是關於t和x的積分:
import numpy as np from scipy.integrate import dblquad #dblquad用於二重積分 def main(): print(dblquad(lambda t,x:np.sin(t)*np.exp(-x*t)/t**5,0.5,0.8,lambda x:0.2,lambda x:0.7)) if __name__ == "__main__": main()
在上面的括號中,被積函式是sint*exp(-xt)/t^5, 其中t的積分上下限是0.5和0.8,x的積分上下限是0.2和0.7,結果如下:
(10.041536868759145, 1.3645801372419182e-11)