Измените систему LMIs

После того, как заданный, система LMIs может быть изменена несколькими способами с функциями dellmi, delmvar, и setmvar.

Удаление LMI

Первая возможность состоит в том, чтобы удалить целый LMI из системы с dellmi. Например, предположите, что система LMI Указывает, что Система LMI описана в LMISYS и это мы хотим удалить ограничение положительности на X. Это сделано

NEWSYS = dellmi(LMISYS,2)

где второй аргумент задает удаление второго LMI. Получившаяся система двух LMIs возвращена в NEWSYS.

Идентификаторы LMI (начальный рейтинг LMI в системе LMI) не изменены удалениями. В результате последний LMI

S> Я

остается известным как третий LMI даже при том, что это теперь занимает второе место в модифицированной системе. Чтобы избежать беспорядка, более безопасно относиться к LMIs через идентификаторы, возвращенные newlmi. Если BRLxpos , и Slmi идентификаторы, присоединенные к трем LMIs, описанным в, Задают Систему LMI, Slmi продолжает указывать на S> I даже после удаления второго LMI

NEWSYS = dellmi(LMISYS,Xpos)

Удаление матричной переменной

Другой способ изменить систему LMI состоит в том, чтобы удалить матричную переменную, то есть, чтобы удалить все переменные условия, включающие эту матричную переменную. Эта операция выполняется delmvar. Например, рассмотрите LMI

ATX + XA + BW + WTBT + I <0

с переменными X = XTR 4×4 и WR 2×4. Этот LMI задан

setlmis([]) 
X = lmivar(1,[4 1]) 	% X 
W = lmivar(2,[2 4]) 	% W

lmiterm([1 1 1 X],1,A,'s') 
lmiterm([1 1 1 W],B,1,'s') 
lmiterm([1 1 1 0],1)

LMISYS = getlmis

Удалить переменную W, введите команду

NEWSYS = delmvar(LMISYS,W)

Получившийся NEWSYS теперь описывает неравенство Ляпунова

ATX + XA + I <0

Обратите внимание на то, что delmvar автоматически удаляет весь LMIs, который зависел только от удаленной матричной переменной.

Матричные идентификаторы переменных не затронуты удалениями и продолжают указывать на ту же матричную переменную. Для последующих манипуляций поэтому желательно относиться к остающимся переменным через их идентификатор. Наконец, обратите внимание, что удаление матричной переменной эквивалентно установке его к нулевой матрице тех же размерностей с setmvar.

Инстанцирование матричной переменной

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

Рассмотрите снова Задают Систему LMI и предполагают, что мы хотим знать, меньше ли пиковое усиление самого G один, то есть, если

∥G ∥∞ <1

Это составляет установку масштабирующейся матрицы D (или эквивалентно, S = DTD) к кратному единичной матрице. Имея в виду ограничение S> I, законным выбором является S = 2 \U 03B2\\U 03C8\I. Чтобы установить S на это значение, войти

NEWSYS = setmvar(LMISYS,S,2)

Второй аргумент является идентификатором переменной S, и третий аргумент является значением, в которое должен быть установлен S. Здесь значение 2 является сокращением для 2 мной. Получившаяся система NEWSYS чтения

(ATX+XA+2CTCXBBTX2I)<0X>02I>I.

Обратите внимание на то, что последний LMI теперь свободен от переменной и тривиально удовлетворенный. Это могло, поэтому, быть удалено

NEWSYS = dellmi(NEWSYS,3)

или

NEWSYS = dellmi(NEWSYS,Slmi)

если Slmi идентификатор, возвращенный newlmi.

Похожие темы