exponenta event banner

Изменение системы 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, описанным в разделе Specify LMI System, Slmi продолжает указывать на S > I даже после удаления второго LMI

NEWSYS = dellmi(LMISYS,Xpos)

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

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

ATX + XA + BW + WTBT + I < 0

с переменными X = XT R4 × 4 и W R2 × 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 + 2CTCXBBTX 2I) < 0X > 02I > I.

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

NEWSYS = dellmi(NEWSYS,3)

или

NEWSYS = dellmi(NEWSYS,Slmi)

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

Связанные темы