【发布时间】:2020-04-15 16:16:13
【问题描述】:
我有以下两个等式:
40 = Vmax*5.041667 + (Vmax**2/Amax)*sympy.exp((-Amax/Vmax)*5.041667) - (Vmax**2/Amax)
20 = Vmax*2.897628 + (Vmax**2/Amax)*sympy.exp((-Amax/Vmax)*2.897628) - (Vmax**2/Amax)
我在 sympy 中编写了以下代码来求解这个联立方程来求解 Vmax 和 Amax
import sympy as sp
Vmax, Amax = symbols('Vmax, Amax')
eq1 = Vmax*5.041667 + (Vmax**2/Amax)*sympy.exp((-Amax/Vmax)*5.041667) - (Vmax**2/Amax)
eq2 = Vmax*2.897628 + (Vmax**2/Amax)*sympy.exp((-Amax/Vmax)*2.897628) - (Vmax**2/Amax)
print(nsolve((eq1, eq2), (Vmax, Amax), (40,20)))
此代码给出了错误的答案。而且我认为正确的以下代码计算时间太长。
from sympy import *
Vmax, Amax = symbols('Vmax, Amax')
eq1 = Vmax*5.041667 + (Vmax**2/Amax)*sympy.exp((-Amax/Vmax)*5.041667) - (Vmax**2/Amax)
eq2 = Vmax*2.897628 + (Vmax**2/Amax)*sympy.exp((-Amax/Vmax)*2.897628) - (Vmax**2/Amax)
solve([eq1-40, eq2-20], (Vmax, Amax))
知道我可以做些什么来修复我的代码以便得到正确的答案吗?
【问题讨论】: