scipy.intergrate中的quad是积分模块
dblquad是二元积分
import numpy as np def main(): ##积分 from scipy.integrate import quad,dblquad,nquad#引入积分模块 print (quad(lambda x:np.exp(-x),0,np.inf))#0到无穷大的积分,返回的是一个值和误差 print (dblquad(lambda t,x:np.exp(-x*t)/t**3,0,np.inf,lambda x:1,lambda x:np.inf))#二元积分,两个参数t,x,先定义t的取值范围(常数),再定义x的取值范围(相当于t的函数) def f(x,y):##n维积分 return x*y def bound_y():#定义y的边界 return [0,0.5] def boundx(y):#定义x的边界 return [0,1-2*y] print (nquad(f,[boundx,bound_y])) if __name__=='__main__': main()
import numpy as np from scipy.integrate import quad,dblquad,nquad def main(): print(quad(lambda x: np.exp(-x), 0, np.inf)) print(dblquad(lambda t, x: np.exp(-x * t) / t ** 3, 0, np.inf, lambda x: 1, lambda x: np.inf)) def f(x,y): return x*y def bound_y(): return [0,0.5] def bound_x(y): return [0,1-2*y] print(nquad(f,[bound_x,bound_y])) if __name__ == "__main__": main()