1. 程式人生 > >用python求一重積分和二重積分

用python求一重積分和二重積分

首先是對一元函式求積分,使用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)