exponenta event banner

lmivar

Укажите переменные матрицы в проблеме LMI

Синтаксис

X = lmivar(type,struct)
[X,n,sX] = lmivar(type,struct)

Описание

lmivar определяет новую матричную переменную X в системе LMI, описанной в настоящее время. Необязательный выход X - идентификатор, который может использоваться для последующей ссылки на эту новую переменную.

Первый аргумент type выбирает один из доступных типов переменных и второй аргумент struct дает дополнительную информацию о структуре X в зависимости от его типа. Доступные типы переменных:

type = 1: Симметричные матрицы с блок-диагональной структурой. Каждый диагональный блок является либо полным (произвольная симметричная матрица), скалярным (кратным единичной матрице), либо идентично нулевым.

Если X имеет диагональные блоки R, struct - матрица R-by-2, где

  • struct(r,1) - размер r-го блока

  • struct(r,2) - тип r-го блока (1 для полного, 0 для скалярного, -1 для нулевого блока).

type = 2: Полная прямоугольная матрица m-by-n. Наборstruct = [m,n] в данном случае.

type = 3: Другие структуры. При типе 3 каждая запись X задается как ноль или ± x, где xn является n-й переменной решения.

Соответственно, struct является матрицей тех же размеров, что и X, так что

  • struct(i,j)=0 если X (i, j) является жестким нулем

  • struct(i,j)=n если X (i, j) = xn

  • struct(i,j)=–n если X (i, j) = -xn

Сложные матричные переменные структуры могут быть определены с помощью типа 3. Чтобы указать переменную X типа 3, сначала определите, сколько свободных независимых записей участвует в X. Они составляют набор переменных решения, связанных с X. Если проблема уже включает в себя n переменных решения, пометьте новые свободные переменные как xn + 1,., xn + p. Затем определяют структуру X в терминах xn + 1,., xn + p, как указано выше. Чтобы помочь задать переменные матрицы типа 3 ,lmivar дополнительно возвращает два дополнительных вывода: (1) общее число n переменных скалярного решения, использованных до настоящего времени, и (2) матрица sX показывает зависимость X от переменных x1,., xn.

Примеры

свернуть все

Рассмотрим систему LMI с тремя матричными переменными X1, X2 и X3, такими, что

  • X1 - симметричная матрица 3 на 3 (неструктурированная),

  • X2 - прямоугольная матрица 2 на 4 (неструктурированная),

  • X3 =

(Δ000δ1000δ2I2),

где Δ - произвольная 5 на 5 симметричная матрица, δ1 и δ2 - скаляры, а I2 обозначает единичную матрицу размера 2.

Определите эти три переменные с помощью lmivar.

setlmis([]) 
X1 = lmivar(1,[3 1]);          % Type 1 
X2 = lmivar(2,[2 4]);         % Type 2 of dimension 2-by-4 
X3 = lmivar(1,[5 1;1 0;2 0]);  % Type 1

Последняя команда определяет X3 как переменную типа 1 с одним полным блоком размера 5 и двумя скалярными блоками размеров 1 и 2 соответственно.

В сочетании с дополнительными выходами n и sX из lmivar, Тип 3 позволяет задать довольно сложные матричные переменные структуры. Например, рассмотрим матричную переменную X со структурой, заданной следующим образом:

X = (X100X2)

где X1 и X2 - прямоугольные матрицы 2 на 3 и 3 на 2 соответственно. Укажите эту структуру следующим образом.

Определите прямоугольные переменные X1 и X2.

setlmis([]) 
[X1,n,sX1] = lmivar(2,[2 3]); 
[X2,n,sX2] = lmivar(2,[3 2]);

Продукция sX1 и sX2 дать переменное содержание решения X1 и X2.

sX1
sX1 = 2×3

     1     2     3
     4     5     6

sX2
sX2 = 3×2

     7     8
     9    10
    11    12

Например, sX2(1,1) = 7 означает, что (1,1) запись X2 является седьмой переменной принятия решения.

Затем используйте тип 3, чтобы указать переменную матрицы X и определить ее структуру в терминах структур X1 и X2.

[X,n,sX] = lmivar(3,[sX1,zeros(2);zeros(3),sX2]);

Подтвердите, что результат X имеет требуемую структуру.

sX
sX = 5×5

     1     2     3     0     0
     4     5     6     0     0
     0     0     0     7     8
     0     0     0     9    10
     0     0     0    11    12

См. также

| | | | | |

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