Задайте содержимое термина LMIs
lmiterm(termID,A,B,flag)
lmiterm
задает термин содержимое LMI один термин за один раз. Вспомните, что термин LMI относится к элементарным векторам свободных членов, вовлеченным в выражение блочной матрицы LMI. Перед использованием lmiterm
описание LMI должно быть инициализировано с setlmis
, и матричные переменные должны быть объявлены с lmivar
. Каждая команда lmiterm
добавляет один дополнительный термин в систему LMI, в настоящее время описанную.
Условия LMI являются одной из следующих сущностей:
внешние факторы
постоянные условия (зафиксированные матрицы)
переменная называет AXB или AX T B, где 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 + BT XT AT
в диагональных блоках. Установка flag = 's'
позволяет вам задавать такие выражения с одной командой lmiterm
. Например,
lmiterm([1 1 1 X],A,1,'s')
добавляет симметрированное выражение AX + XT AT к (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'
, чтобы гарантировать соответствующую симметризацию.