После определения система LMI может быть модифицирована несколькими способами с помощью функций dellmi, delmvar, и setmvar.
Первая возможность состоит в удалении всего 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 читает
0X > 02I > I.
Обратите внимание, что последний LMI теперь свободен от переменных и тривиально удовлетворен. Таким образом, он может быть исключен
NEWSYS = dellmi(NEWSYS,3)
или
NEWSYS = dellmi(NEWSYS,Slmi)
если Slmi - идентификатор, возвращенный newlmi.