exponenta event banner

setmvar

Создание экземпляра переменной матрицы и оценка всех терминов LMI, включающих эту переменную матрицы

Синтаксис

mnewsys = setmvar(lmisys,X,Xval)

Описание

setmvar задает переменную матрицы X с идентификатором X к значению Xval. Все члены, включающие X, оцениваются, постоянные элементы соответствующим образом обновляются, и X удаляется из списка матричных переменных. Описание результирующей системы LMI возвращается в newsys.

Целое число X - идентификатор, возвращенный lmivar когда X объявлен. Создание экземпляра X с помощью setmvar не изменяет идентификаторы остальных переменных матрицы.

Функция setmvar полезен для замораживания определенных матричных переменных и оптимизации по отношению к оставшимся. Это экономит время, избегая частичного или полного переопределения набора ограничений LMI.

Примеры

Рассмотрим систему

= Ax + Bu

и задача нахождения стабилизирующего закона обратной связи состояния u = Kx, где K является неизвестной матрицей.

По теореме Ляпунова это эквивалентно нахождению P > 0 и K таких, что

(A + BK) P + P (A + BKT) + I < 0.

При изменении переменной Y: = KP это условие уменьшается до LMI

AP + PAT + BY + YTBT + I < 0.

Этот LMI вводится командами

n = size(A,1)                 % number of states 
ncon = size(B,2)              % number of inputs

setlmis([]) 
P = lmivar(1,[n 1])           % P full symmetric 
Y = lmivar(2,[ncon n])        % Y rectangular

lmiterm([1 1 1 P],A,1,'s')    % AP+PA' 
lmiterm([1 1 1 Y],B,1,'s')    % BY+Y'B' 
lmiterm([1 1 1 0],1)          % I 
lmis = getlmis

Чтобы выяснить, имеет ли эта задача решение K для конкретной матрицы Ляпунова P = I, установите P в I, введя

news = setmvar(lmis,P,1)

Результирующая система LMI news имеет только одну переменную Y = K. Ее осуществимость оценивается вызовом feasp:

[tmin,xfeas] = feasp(news) 
Y = dec2mat(news,xfeas,Y)

Вычисленное Y возможно всякий раз, когда tmin < 0.

См. также

|

Представлен до R2006a