Задайте матричные переменные в задаче 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 от переменных принятия решений x 1,..., xn.