настройка начального состояния с помощью панели инструментов do_mpc
Я использую набор инструментов do_mpc в Python. Я хочу установить собственное начальное условие для оценщика (MHE), но в документации не очень ясно, как я могу это сделать. кто-нибудь уже сделал это? здесь ссылка на набор инструментов и конкретный класс https://www.do-mpc.com/en/latest/api/do_mpc.estimator.MHE.opt_x_num.html#do_mpc.estimator.MHE.opt_x_num
Большое спасибо за ответ
1 ответ
Вы, наверное, уже нашли ответ, но
set_initial_guess
Функция оценщика предполагает, что вы можете напрямую присваивать значения переменной:
def set_initial_guess(self):
"""..."""
assert self.flags['setup'] == True, 'mhe was not setup yet. Please call mhe.setup().'
self.opt_x_num['_x'] = self._x0.cat/self._x_scaling
self.opt_x_num['_u'] = self._u0.cat/self._u_scaling
self.opt_x_num['_z'] = self._z0.cat/self._z_scaling
self.opt_x_num['_p_est'] = self._p_est0.cat/self._p_est_scaling
self.flags['set_initial_guess'] = True
В частности, приведенные выше примеры кода устанавливают каждый
opt_x_num
компонент к экземпляру
DM
(из
casadi
). Значения вычисляются с использованием переменных, и т. Д. Как подсказывают строки документации:
Использует атрибуты текущего класса: py:obj :,: py:obj:
z0
и: py:obj :,: py:obj:p_est0
для создания первоначального предположения для MHE.
вы можете установить исходное предположение, установив
x0
,
u0
и др. переменные. Например, вы можете назвать что-то вроде:
self._controller.x0 = np.array([100, 200, 0, 0])
self._controller.set_initial_guess()
Наконец, вы можете попросить дополнительную помощь, открыв обсуждение GitHub - https://github.com/do-mpc/do-mpc/discussions