Python 3.x 用Python数值求解积分极限
我是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是随机定义的变量 我想求积分的上
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)
它是否抛出错误或产生错误的结果?