Задайте матричные переменные в проблеме 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-th блок
struct(r,2)
является типом r-th блок (1 для полного, 0 для скаляра, –1 для нулевого блока).
type=2: Полный m-by-n прямоугольная матрица. Установите struct = [m,n]
в этом случае.
type=3: Другие структуры. С Типом 3 каждая запись X задана как нуль или ±x, где xn является n-th переменная решения.
Соответственно, 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 на переменных x решения 1..., xn.