While LMIs are specified in terms of their matrix variables *X*_{1},
. . . , *X*_{K} , the LMI solvers
optimize the vector *x* of free scalar entries
of these matrices, called the decision variables. The two functions `mat2dec`

and `dec2mat`

perform
the conversion between these two descriptions of the problem variables.

Consider an LMI system with three matrix variables *X*_{1}, *X*_{2}, *X*_{3}.
Given particular values `X1`

, `X2`

, `X3`

of
these variables, the corresponding value `xdec`

of
the vector of decision variables is returned by `mat2dec`

:

xdec = mat2dec(LMISYS,X1,X2,X3)

An error is issued if the number of arguments following `LMISYS`

differs
from the number of matrix variables in the problem (see `matnbr`

).

Conversely, given a value `xdec`

of the vector
of decision variables, the corresponding value of the *k*-th
matrix is given by `dec2mat`

.
For instance, the value `X2`

of the second matrix
variable is extracted from `xdec`

by

X2 = dec2mat(LMISYS,xdec,2)

The last argument indicates that the second matrix variable
is requested. It could be set to the matrix variable identifier returned
by `lmivar`

.

Was this topic helpful?