Изменение системы LMI

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

Удаление LMI

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

NEWSYS = dellmi(LMISYS,2)

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

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

S > I

остается известным как третий LMI, хотя теперь он занимает второе место в измененной системе. Чтобы избежать путаницы, безопаснее обращаться к LMI через идентификаторы, возвращенные newlmi. Если BRL, Xpos, и Slmi являются ли идентификаторы присоединенными к трем LMI, описанным в Specific LMI System, Slmi продолжает указывать на S > I даже после удаления второго LMI по

NEWSYS = dellmi(LMISYS,Xpos)

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

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

ATX + XA + BW + WTBT + I < 0

с переменными X = XTR4×4 и WR2×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 автоматически удаляет все LMI, которые зависели только от удаленной матричной переменной.

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

Создание экземпляра матричной переменной

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

Рассмотрим еще раз Задайте систему LMI и предположим, что мы хотим знать, является ли пиковое усиление самого G меньше единицы, то есть, если

G ∥ < 1

Это эквивалентно установке масштабной матрицы D (или эквивалентно S = DTD) к произведению матрицы тождеств. Учитывая ограничение S > I, законный выбор является S = 2-βψ-I. Чтобы задать S это значение, введите

NEWSYS = setmvar(LMISYS,S,2)

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

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

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

NEWSYS = dellmi(NEWSYS,3)

или

NEWSYS = dellmi(NEWSYS,Slmi)

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте