Не могу решить уравнение с симпой, отлично работает в mathcad prime - PullRequest
1 голос
/ 18 апреля 2020

Я пытаюсь рассчитать температуру мокрой колбы по dry температуре колбы (dbt), относительной влажности (rh) и давлению (p), чтобы я мог контролировать блок кондиционера с малиновый пи. Я получил уравнение из исследовательской работы , и оно отлично работает и работает быстро, если рассчитать в Matchcad Prime . Однако когда я пытаюсь получить Python для решения уравнения, он просто сидит там, ничего не возвращая, в то время как мой вентилятор процессора сходит с ума, пока я не отменяю терминал.

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 часов я сейчас сдаюсь и вежливо спрашиваю, может ли кто-нибудь здесь предложить возможное решение.

1 Ответ

0 голосов
/ 19 апреля 2020

nsolve ясно решение:

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