Ошибка с V1()
. Либо оставьте скобку, чтобы сделать ее просто V1
, либо добавьте производную по времени с V1.dt()
. Если это энергетический баланс, вы можете сделать V1
функцией температуры, такой как m*cp*T1.dt()
с массой m
и теплоемкостью cp
.
Вот динам c симуляция:
from gekko import GEKKO
m = GEKKO()
m.time = [0,1,2,3,4,5]
U1 = m.Param(1)
A1 = m.Param(1)
T2 = m.Param(1.1)
T1 = m.Param(1)
V1 = m.Var(0)
m.Equation(V1.dt() == U1*A1*(T2-T1))
m.options.IMODE = 4
m.solve()
print(V1.value)
Это дает решение V1 = [0,0.1,0.2,0.3,0.4,0.5]