lmiterm

Задайте содержимое терминов 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 является вектором с четырьмя входами из целых чисел, задающих местоположение термина и участвующую переменную матрицы.

termID (1)={+pp

где положительный p для терминов на левой стороне p -th LMI и отрицательный p для терминов на правой стороне p -th LMI.

Напомним, что по договоренности левая сторона всегда относится к меньшей стороне LMI. Область индекса p относится к порядку объявления и соответствует идентификатору, возвращаемому newlmi.

termID(2:3)={[0,0] для внешних факторов[i,j] для терминов в  (i,j)-й блок   левого или правого внутреннего фактораtermID(4)={0 для внешних факторовx для переменных членов AXB-x для переменных членов AXTB

где x - идентификатор матричной переменной X как возвращено lmivar.

Аргументы A и B содержат числовые данные и устанавливаются согласно:

Тип термина

A

B

внешний коэффициент N

матричное значение N

опустить

постоянный термин C

матричное значение C

опустить

переменный термин

AXB или AXTB

матричное значение A

(1, если A отсутствует)

матричное значение B

(1, если B отсутствует)

Обратите внимание, что не нужно задавать единичные внешние факторы и нулевые постоянные условия.

Дополнительный аргумент flag является необязательным и касается только сопряженных выражений формы

(<reservedrangesplaceholder1>) + (<reservedrangesplaceholder0>)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

Рассмотрим LMI

(2AX2ATx3E+DDTBTX1X1TBI)<MT(CX1CT+CX1TCT00fX2)M

где 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 + <reservedrangesplaceholder0> 1TCT задается одной lmiterm команда с флагом 's' для обеспечения правильной симметризации.

См. также

| | | |

Представлено до R2006a