python中使用scipy.integrate求积分、二重积分、三重积分

python中使用scipy.integrate求积分、二重积分、三重积分

import numpy as np  
from scipy.integrate import tplquad,dblquad,quad

#积分
val1,err1=quad(lambda x:np.sin(x),#函数
               0,#x下界0
               np.pi)#x上界pi
print ('积分结果:',val1)

#二重积分
val2,err2=dblquad(lambda y,x:np.sin(x)*np.cos(y),#函数
                  0,#x下界0
                  np.pi,#x上界pi
                  lambda x:x**2,#y下界x^2
                  lambda x:2*x)#y上界2*x
print ('二重积分结果:',val2)

#三重积分
val3,err3=tplquad(lambda z,y,x:1/(np.sqrt(x+y**2+z**3)),#函数
                0,#x下界0
                1,#x上界1
                lambda x:-x,#y下界-x
                lambda x:x,#y上界x
                lambda x,y:np.sin(x),#z下界sin(x)
                lambda x,y:x+2*y)#z上界x+2*y
print ('三重积分结果:',val3)

其运算结果为

积分结果: 2.0
二重积分结果: -0.4989998520503062
三重积分结果: -0.05881880054964517


你可能感兴趣的:(python)