Как бороться с системой дискретного времени в GEKKO? - PullRequest
2 голосов
/ 25 октября 2019

Я имею дело с системой дискретного времени с временем выборки 300 с.

Мой вопрос заключается в том, как выразить уравнение состояния или вывести экватин, например

x(k+1)=A*x(k)+B*u(k)
y(k)=C*x(k)

, где x(k)это состояние, а y(k) это выход. У меня есть все значения матрицы A, B, C.

Я нашел некоторую информацию о системе дискретного времени на веб-странице https://apmonitor.com/wiki/index.php/Apps/DiscreteStateSpace

Я хочу знать, есть ли другой способ выразить состояниеуравнение, отличное от

x,y,u = m.state_space(A,B,C,D=None,discrete=True)

1 Ответ

2 голосов
/ 26 октября 2019

Модель пространства дискретных состояний является предпочтительным способом представления вашей модели. Вы также можете преобразовать свои уравнения в форму дискретного временного ряда или в форму непрерывного пространства состояний. Все это эквивалентные формы. Другой способ написать вашу модель - использовать IMODE=2 (алгебраические уравнения), но это намного сложнее. Вот пример идентификации MIMO , где мы оцениваем параметры ARX с IMODE = 2. Я рекомендую модель m.state_space и использовать ее с IMODE>=4.

. Вот пример модели пространства состояний маятника .

pendulum state space

и модель пространства состояний управления полетом .

flight control

Обе они используют модели пространства непрерывных состоянийно методы аналогичны тем, которые необходимы для вашего приложения.

...