不能用 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
我正在尝试根据干球温度 (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