scipy-integrate 数值积分

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import numpy as np
from scipy.integrate import quad, dblquad,nquad


def main():
    # 1---Integral#
    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()



猜你喜欢

转载自blog.csdn.net/zhangmary/article/details/79878292
今日推荐