Скажем, дана модель завода следующей формы:
\dot{q} = A*q + B*u,
y = C*q.
Выход model (y)
- это position (x)
и velocity (v).
Используя этот вывод, я собираюсьсоздайте PI-контроллер (u) следующего вида:
u = K_1*x + K_2*v.
Затем задача состоит в том, чтобы найти постоянные optimal gains (K_1)
и (K_2)
, так чтобы следующее количество было максимальным:
J = \int_{0}^{T} u*v dt.
Без каких-либо ограничений эту проблему легко решить с помощью команды MATLAB 'fminsearch' или 'fminunc.'Но я бы хотел добавить ограничение стабильности, чтобы система с замкнутым контуром с управлением PI всегда была стабильной.Математически это реализуется путем ограничения собственных значений замкнутой системы в левой плоскости.Но мне интересно, как добавить это ограничение с помощью команд MATLAB.
Я пытался использовать команду 'eig' в функции ограничения (nonlcon) в 'fmincon', но MATLAB говорит, что этой команде запрещеноиспользуется в функции ограничения fmincon.