В настоящее время я использую MPC, чтобы нагреватель TCLab достиг определенной заданной температуры. Я пытаюсь заставить MHE обновлять определенные значения параметров каждые 50 секунд. У меня есть предыдущая модель MPC, которая отлично работала, и я попытался добавить в свой основной цикл часть, которая должна переключаться для улучшения определенных значений, а затем снова переключаться в режим MPC. Я видел, что другие люди, решающие ту же проблему, создали класс gekko для MPC, а также для MHE, а затем заставили их работать вместе, но есть ли способ добавить часть в мой текущий цикл MPC, который позволит MHE, чтобы обновить определенные значения, а затем снова переключиться на MPC?
Вот код, который я добавил в свой цикл, чтобы он обновлял переменные, но не обновлял мои значения.
if i%50 == 0 or i == 0:
m.options.IMODE = 5
Q1.STATUS = 0
Q1.FSTATUS = 1
Q2.STATUS = 0
Q2.FSTATUS = 1
U.FSTATUS = 1
α1.FSTATUS = 1
α2.FSTATUS = 1
τ.FSTATUS = 1
m.solve(disp = False)
Q1.STATUS = 1
Q1.FSTATUS = 1
Q2.STATUS = 1
Q2.FSTATUS = 1
m.options.IMODE = 6
U.FSTATUS = 0
α1.FSTATUS = 0
α2.FSTATUS = 0
τ.FSTATUS = 0