Python 3.x 用Python数值求解积分极限

Python 3.x 用Python数值求解积分极限,python-3.x,numpy,scipy,Python 3.x,Numpy,Scipy,我是Python新手,我正在尝试解决集成的上限: def integrand(t): return (Dou)*np.exp((-Eau)/(8.314*(996.74 + (1037.1*np.exp(-0.2696*t))))) def func(x): y, err=quad(integrand, 0, x) return y sol = fsolve(func, 1.0) print(sol[b]) 其中,Dou、Eau和b是随机定义的变量 我想求积分的上

我是Python新手,我正在尝试解决集成的上限:

def integrand(t):
    return (Dou)*np.exp((-Eau)/(8.314*(996.74 + (1037.1*np.exp(-0.2696*t)))))

def func(x):
    y, err=quad(integrand, 0, x)
    return y

sol = fsolve(func, 1.0)

print(sol[b])
其中,Dou、Eau和b是随机定义的变量


我想求积分的上限,这样积分等于b。我不知道这段代码有什么问题——有什么明显的错误吗?

方法
fsolve
找到方程func=0的根。如果等式的右侧为
b
而不是0,则从
func
的输出中减去该
b

为了制作一个自包含的示例,我将为b以及代码中其他未定义的常量设置一个数值

import numpy as np
import scipy.integrate as si 
import scipy.optimize as so

def integrand(t):
    return 3*np.exp((-2)/(8.314*(996.74 + (1037.1*np.exp(-0.2696*t)))))

def func(x):
    return si.quad(integrand, 0, x)[0] - 7    # func is integral minus 7

sol = so.fsolve(func, 1.0)                    # equated func to 0
print(sol)

它是否抛出错误或产生错误的结果?