(1)使用环境:matlab 2014a 。LMI工具包不用安装,可以直接使用。
(2)LMI toolbox: Linear Matrix Inequality,线性矩阵不等式。
(3)如何定义一个LMI系统:
1.初始化一个 LMI 系统
setlmis([]) 注意这只是定义一个LMI系统,并不是定义了一个 LMI不等式。LMI不等式需要用newlmi函数定义。
如果想把一个之前定义好的LMI系统LMIS0引入进来setlmis(LMIS0)2.定义LMI变量X = lmivar(1,[6 1]); S = lmivar(1,[2 0;2 1]);上面的函数定义了两个矩阵型LMI矩阵变量 X 和 Slmivar() 函数说明:第一个参数表示矩阵的类型,可以是1,2,3
1:对称块对角结构X3 = lmivar(1,[5 1;1 0;2 0]); % Type 1
2:矩形结构
如lmivar(2,[3 5])表示大小为3*5的普通矩阵
3:一般结构
为了有助于描述这一类型的矩阵变量,lmivar提供了两个额外的输出,它的一般表达式是:[X,n,sX]=lmivar(type,struct) 其中n和sX是提供的两个额外输出n表示到目前为止使用的决策变量的总数,sX表明了变量X中的每一个元依赖于决策变量的哪个元。例:定义,其中X1和X2分别是2*3维和3*2维的长方矩阵
(第三种结构可以用来表示矩阵型中间变量,例如上面的X变量依赖于矩阵变量X1和X2。可以用下面的代码表示这个中间变量)
%定义X1和X2 setlmis([]) [X1,n,sX1] = lmivar(2,[2 3]); [X2,n,sX2] = lmivar(2,[3 2]); %定义第三类型矩阵X [X,n,sX] = lmivar(3,[sX1,zeros(2);zeros(3),sX2]);
注意:用第三种方法表示变量时,被表示变量只能用 已声明变量的正一倍或负一倍或转置或0矩阵表示。(each entry of X is specified independently as either 0, xn, or –xn where xn denotes the n-th decision variable in the problem.)