Определение содержания терминов LMI
lmiterm(termID,A,B,flag)
lmiterm задает содержание термина LMI по одному термину за раз. Напомним, что термин LMI относится к элементарным аддитивным терминам, участвующим в блочно-матричном выражении LMI. Перед использованием lmiterm, описание LMI должно быть инициализировано с помощью setlmis и переменные матрицы должны быть объявлены с помощью lmivar. Каждый lmiterm добавляет один дополнительный термин в описываемую систему LMI.
Термины LMI являются одной из следующих сущностей:
внешние факторы
постоянные члены (фиксированные матрицы)
переменные члены AXB или AXTB, где X - матричная переменная, а A и B - матрицы, называемые терминами коэффициентов.
При описании LMI с несколькими блоками не забудьте указать только члены в блоках на диагонали или ниже диагонали (или эквивалентно, только члены в блоках на диагонали или выше). Например, укажите блоки (1,1), (2,1) и (2,2) в двухблочном LMI.
В вызове lmiterm, termID - вектор целых чисел с четырьмя входами, задающий местоположение члена и задействованную переменную матрицы.
p − p
где положительное p - для членов на левой стороне p-го LMI, а отрицательное p - для членов на правой стороне p-го LMI.
Напомним, что по конвенции левая сторона всегда относится к меньшей стороне LMI. Индекс p относится к порядку объявления и соответствует идентификатору, возвращенному newlmi.
терминов AXTB
где x - идентификатор переменной матрицы, X как возвращено lmivar.
Аргументы A и B содержат числовые данные и устанавливаются в соответствии с:
Тип термина | A | B |
|---|---|---|
внешний коэффициент N | матричное значение N | опустить |
постоянный член C | матричное значение C | опустить |
переменный термин AXB или AXTB | значение матрицы A (1, если A отсутствует) | матричное значение B (1, если B отсутствует) |
Следует отметить, что не требуется указывать внешние факторы идентичности и нулевые постоянные члены.
Дополнительный аргумент flag является необязательным и касается только сопряженных выражений формы
(AXB) + (AXB) T = AXB + BTXTAT
в диагональных блоках. Настройка flag = 's' позволяет задавать такие выражения одним lmiterm команда. Например,
lmiterm([1 1 1 X],A,1,'s')
добавляет симметричное выражение AX + XTAT к (1,1) блоку первого LMI и суммирует две команды
lmiterm([1 1 1 X],A,1) lmiterm([1 1 1 -X],1,A')
Помимо удобства, этот ярлык также приводит к более эффективному представлению LMI.
Рассмотрим LMI
CX1TCT00 − fX2) М
где X1, X2 - матричные переменные типов 2 и 1 соответственно, а x3 - скалярная переменная (тип 1).
После инициализации описания LMI с помощью setlmis и объявить переменные матрицы с помощью lmivar, укажите термины в левой части этого LMI.
lmiterm([1 1 1 X2],2*A,A') % 2*A*X2*A' lmiterm([1 1 1 x3],-1,E) % -x3*E lmiterm([1 1 1 0],D*D') % D*D' lmiterm([1 2 1 -X1],1,B) % X1'*B lmiterm([1 2 2 0],-1) % -I
Здесь X1, X2, и x3 являются идентификаторами переменных, возвращенными lmivar при объявлении переменных.
Аналогично, укажите содержание термина в правой части.
lmiterm([-1 0 0 0],M) % outer factor M lmiterm([-1 1 1 X1],C,C','s') % C*X1*C'+C*X1'*C' lmiterm([-1 2 2 X2],-f,1) % -f*X2
Обратите внимание, что CX1CT + CX1TCT задается одним lmiterm команда с флагом 's' для обеспечения правильной симметрии.