"""
scipy6.0:integrate积分
马玉华 2019.11.5
2020.5.16复制
"""
import numpy as np
from scipy import integrate
def main():
# quad一维积分 ,dblquad二维积分(double quad),nquad 多维积分
result1 = integrate.quad(lambda x: np.exp(-x), a=0, b=np.inf) # quad(func,a,b),对函数func从a到b积分。np.inf表示无穷大
print(result1, type(result1)) # 返回结果为:元组(积分值,误差值)。 因为电脑算的数值积分不同于定积分不定积分,会有一个误差值
result2 = integrate.dblquad(lambda y, x: x * y ** 3, a=0, b=5, gfun=lambda x: 0,hfun=lambda x: 6) # ∫_0^6【∫_0^5〖xy^3 ⅆx〗】 ⅆy
# integral of func(y,x) from x=a..b ,and y=gfun(x)..hfun(x)
print('积分值,误差值:', result2)
def f(x, y): # 积分函数
return x * y
def bound_x(y): # 积分内容边界
return [0, 1 - 2 * y]
def bound_y(): # 积分内容边界
return [0, 0.5]
result3 = integrate.nquad(f, [bound_x, bound_y]) # nquad(积分函数,积分边界)。 ∫_0^0.
scipy5.0-integrate-数值积分quad,dblquad,nquad
最新推荐文章于 2024-05-26 16:43:38 发布