当前位置 主页 > 网站技术 > 代码类 >

    用python求一重积分和二重积分的例子

    栏目:代码类 时间:2019-12-06 12:07

    首先是对一元函数求积分,使用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)

    以上这篇用python求一重积分和二重积分的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。