LMI工具箱介绍 程五彬.ppt
利用利用MATLABLMI工具计算保持线性工具计算保持线性系统稳定的最大时滞系统稳定的最大时滞 0 引言引言 线性矩阵不等式(LMI)工具箱是求解一般线性矩阵不等式问题的一个高性能软件包。由于其面向结构的线性矩阵不等式表示方式,使得各种线性矩阵不等式能够以自然块矩阵的形式加以描述。一个线性矩阵不等式问题一旦确定,就可以通过调用适当的线性矩阵不等式求解器来对这个问题进行数值求解。LMI工具箱提供了确定、处理和数值求解线性矩阵不等式的一些工具,它们主要用于:1.以自然块矩阵形式来直接描述线性矩阵不等式;2.获取关于现有的线性矩阵不等式系统的信息;3.修改现有的线性矩阵不等式系统;4.求解三个一般的线性矩阵不等式问题;5.验证结果。1 LMI与与H鲁棒控制问题鲁棒控制问题 许多有关控制系统鲁棒稳定性的问题都可归结为LMI方程的求解,下面举例进行介绍。在论文改进的Markov 切换系统区间时滞相关稳定性与H分析(赵旭东编写)中的定理1主要内容如下:已知时滞马尔可夫切换系统 给定常数h1、h2,对任意时滞d(t),上述系统是随机稳定的。如果存在nn阶矩阵Pi0,Q1i0,Q2i0,Q3i0,Ri0,Si0,Ti0,Z10,Z20,Q10,Q20,Q30,Lki,Mki,Nki,Hki,k=1,.,5,使得对任意i=1,.,N,以下矩阵不等式成立,即为证明定理1中结果具有较低的保守性,考虑以下算例。考虑以上具有两模态的时滞马尔可夫跳跃系统,系统参数如下:为了将定理1中结果与文献9中的结果进行比较,首先设定h1=0,u11=-0.1,u22=-0.8,对于给定u值,满足式(4)(8)的最大时滞h2可以通过求quasi凸优化问题得到。表1给出了比较结果。2 Matlab中的中的LMI工具箱工具箱 确定LMI系统的函数 a.(1)setlmis()或者setlmis(lmi0)在通过lmivar以及lmiterm描述一个LMI系统之前,利用setlmis初始化其内部表示。为一个已经存在的LMI系统中添加新描述,使用后者,其中lmi0表示已存在的LMI系统,之后的lmivar和lmiterm被用来在lmi0中添加新的变量和项。b.x,ndec,xdec=lmivar(type,struct)为LMI问题定义矩阵变量,其中type和struct是描述该矩阵变量的必须参数。type确定变量X的类型,struct描述变量X的内容。type=1:此时X是具有块对角化对称矩阵。X对角线上的每一个矩阵Di必须是方阵,注意标量也11的方阵。此时的矩阵变量X大体结果如下:如果X具有n个对角块,那么struct是一个n2的矩阵:m=struct(i,1)表示第i个方阵(Di)的大小,比如Di是55的方阵,则struct(i,1)=5 n=struct(i,2)表示Di的内容,n=-1表示Di是零矩阵,n=0表示数量矩阵,n=1表示满的对称矩阵(或无结构的对称矩阵)。type=2:表示X是一个mn的长方形矩阵,此时struct=m,n,很简单。type=3:表示其他结构,一般用于复杂的LMI系统,正常情况使用的比较少,此时若X(i,j)=0,struct(i,j)=0,若X(i,j)=xk则struct(i,j)=k,若X(i,j)=-xk则struct(i,j)=-k,其中xk表示第k个决策变量。举个例子说明下,考虑有3个矩阵变量的LMI系统,其中X1是33的对称矩阵,X2是24的矩阵,X3具有下面的形式 其中是一个任意的55的对称矩阵,1和2是标量,I2是22的单位矩阵,利用lmivar定义上述三个矩阵变量如下:%定义X1 X1=lmivar(1,3,1);%定义X2 X2=lmivar(2,2,4);%定义X3 X3=lmivar(1,5 1;1,0,2,0);%注意此时的X3(3,3)是算标量的,原因有二:一是它不满也不全为零,二是只需要2一个数据即可确定。c.lmitag=newlmi 功能:增加新的LMI到当前描述的LMI系统中,并给予其标识号lmitag。输出:lmitag:新的LMI的标识号。d.lmiterm(termID,A,B,flag)确定LMI中每一项的内容,包括内外因子、常数项以及变量项。需要注意的是,在描述一个具有分块对称的LMI时,只需要确定右上角或者左下角即可,其它项的内容可以根据线性矩阵不等式的对称性得到。下面结合例子来介绍,考虑LMI,给出这个LMI的描述:其中,X1和X2分别是type=2和type=1的矩阵变量,x3是一个标量(再次说明,Matlab将标量视为11的对称矩阵)%确定LMI左边的项(即不等号较小的那边,再次强调),还有记住只要描述一半即可lmitag=newlmilmiterm(lmitag 1 1 X2,2*A,A);lmiterm(lmitag 1 1 x3,-1,E);lmiterm(lmitag 1 1 0,D*D);lmiterm(lmitag 2 1-X1,1,B);lmiterm(lmitag 2 2 0,-I);%同理描述右边的项,注意零矩阵可以不描述。lmiterm(-lmitag 0 0 0,M);%描述LMI右边的外因子lmiterm(-lmitag 1 1 X1,C,C,s);lmiterm(-lmitag 2 2 X2,-f,1)e.lmisys=getlmis 功能:如果LMI系统已经用lmivar和lmiterm进行了完整描述,则通过getlmis获取当前LMI系统的内部描述,注意这个命令是必须的。f.tmin,xfeas =feasp(lmis,options,target)功能:求解LMI系统定义的线性矩阵不等式约束条件问题的可解性。如果问题是可解的,则输出xfeas将是待求变量向量的一个可解值。给定L(x)R(x)的可解性问题。feasp解决凸优化过程:对L(X)R(X)+t*I求:minimize t 如果LMI系统可解,则极小化值tmin将是负的。