Задайте содержимое термина LMIs
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 2D блока.
В вызове lmiterm
, termID
вектор с четырьмя записями из целых чисел, задающих термин местоположение и матричная включенная переменная.
где положительный p является для терминов на левой стороне p-th LMI, и отрицательный p является для терминов на правой стороне p-th LMI.
Вспомните, что, условно, левая сторона всегда относится к меньшей стороне LMI. Индекс p
относительно порядка объявления и соответствует идентификатору, возвращенному newlmi
.
где 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
где X 1, X 2 является матричными переменными Типов 2 и 1, соответственно, и x 3 является скалярной переменной (Тип 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
Обратите внимание на то, что CX 1CT + CX 1TCT задан одним lmiterm
команда с флагом 's'
гарантировать соответствующую симметризацию.