不能用 sympy 求解方程,在 mathcad prime 中工作正常

Can't solve equation with sympy, works fine in mathcad prime

我正在尝试根据干球温度 (dbt)、相对湿度 (rh) 和压力 (p) 计算湿球温度,以便我可以使用 raspberry pi 监控空调装置。我从 Research paper and it works fine and is fast when calculated in Matchcad Prime 中得到了方程式。但是,当我尝试让 Python 求解方程时,它只是坐在那里没有返回任何东西,而我的 CPU 粉丝发疯了,直到我取消终端。

from sympy import symbols, Eq, solve

Td = 25
rh = 60
p = 1013

Tw = symbols('Tw')
Td = float(Td)
rh = float(rh)
p = float(p)
e = float(2.71828182845905)

eq1 = Eq(((6.112 * e**((17.502 * Tw) / (240.97 + Tw)) - 0.00066 * (1 + 0.00115 * Tw) * p * (Td - Tw)) / (6.112 * e**((17.502 * Td) / (240.97 + Td)))) * 100 - rh, 0)

result = solve(eq1, Tw)

temp_wet = round(result[Tw], 2)
print(f'Wet bulb temperature =  {temp_wet}')

我也试过nsolve,但没有用,9个小时后我现在放弃了,礼貌地询问这里是否有人可以提供可能的解决方案。

nsolve 显然是解决方案:

>>> nsolve(eq1, 20).round(2)
19.55