您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > LMI工具箱介绍俞立
机动目录上页下页返回结束1/26三、LMI工具箱介绍由“现代控制理论概述”部分,我们知道判别一个系统的稳定性归结为求解关于矩阵P的线性矩阵不等式ATP+PA=-Q0,若该不等式存在解P0则系统稳定。要确定一个线性矩阵不等式系统,需要以下2步(1)定义每个矩阵变量的维数和结构.(2)描述每个LMI中各个项的内容.机动目录上页下页返回结束2/26setlmis([])或setlmis(lmiso)lmisys=getlmis以getlmis结束以setlmis开始X=lmivar(type,struct)用lmivar定义矩阵变量lmiterm(…………)用lmiterm描述LMI的每项§3.1用LMI工具箱描述一个线性矩阵不等式系统机动目录上页下页返回结束3/26(1)定义对称块对角结构的矩阵变量X时,struct是r×2维矩阵,该矩阵第i行是(m,n),12000000,000000rDDXDn=X=lmivar(type,struct)用lmivar定义矩阵变量type=1;其中m是Di的阶次,1表示Di是一个满的对称矩阵;0表示Di是一个数量矩阵;-1表示Di是一个零矩阵;机动目录上页下页返回结束4/26例:如何定义如下矩阵变量①若X是一个3×3维的对称矩阵,则用X=lmivar(1,[31])来定义。②若122XI,其中是5×5维对称矩阵,1和2是两个标量,I2是2×2维的单位矩阵,则用X=lmivar(1,[51;10;20])来定义。机动目录上页下页返回结束5/26(2)定义长方型结构的矩阵变量X时,则type=2;struct=[m,n]表示矩阵的维数.例,如何定义一个2×4维的对称矩阵变量X?X=lmivar(2,[24])(3)定义其他结构的矩阵变量X时,X的每个元是0或±xn,其中xn是第n个决策变量,则type=3;struct是与变量X同维的矩阵,第i行第j列是0如果X(i,j)=0;n如果X(i,j)=xn;-n如果X(i,j)=-xn;struct(,)ij=机动目录上页下页返回结束6/26①%1#LMIlmiterm([111X],1,A,'s')lmiterm([111S],C',C)lmiterm([112X],1,B)lmiterm([122S],-1,1)%2#LMIlmiterm([-211X],1,1)%3#LMIlmiterm([-311S],1,1)lmiterm([3110],1])TTT00AXXACSCXBBXSXSI①描述属于第几个不等式,不等号的小边+,大边-.②②描述该项所在块的位置,0块不描述;对称的块只描述一次.③③描述该项是变量还是常数.④④变量的左系数、右系数.⑤可选项,只能是's',描述转置.⑤lmiterm的格式以为例。机动目录上页下页返回结束7/26使用LMI工具箱描述TTT00AXXACSCXBBXSXSI其中X∈R6×6和S=DTD∈R4×4,112345ddDdddd则21212224234522234535ddSdddddddddddd定义2个矩阵变量X=lmivar(1,[61])S=lmivar(1,[20;21])机动目录上页下页返回结束8/26setlmis([])X=lmivar(1,[61])S=lmivar(1,[20;21])%1#LMIlmiterm([111X],1,A,'s')lmiterm([111S],C',C)lmiterm([112X],1,B)lmiterm([122S],-1,1)TTT00AXXACSCXBBXSXSI%2#LMIlmiterm([-211X],1,1)%3#LMIlmiterm([-311S],1,1)lmiterm([3110],1)lmisys=getlmis机动目录上页下页返回结束9/26LMI工具箱提供了用于求解3类问题的LMI求解器.1、可行性问题寻找一个x∈RN,使得满足LMIA(x)B(x)相应的求解器是feasp.一般表达形式[tmin,xfeas]=feasp(lmisys,options,target)原理:通过求解如下的辅助优化问题mints.t.A(x)-B(x)≤tI来求解线性矩阵不等式系统lmisys的可行性问题.§3.2线性矩阵不等式求解器机动目录上页下页返回结束10/26求解器的2个输出量:tmin:前述凸优化问题的全局最优值:tmin0,则系统lmisys是可行的;tmin0,则系统lmisys是不可行的;xfeas:系统lmisys可行时,给出一个可行解,用dec2mat提取出该可行解.求解器的3个输入量:lmisys:如前所述;target:可选,为tmin设置目标值,只要tmintarget,优化迭代过程就结束.target=0是默认值.options:可选量,5维向量,描述求解参数,见资料.求解器feasp[tmin,xfeas]=feasp(lmisys,options,target)机动目录上页下页返回结束11/26例:求满足PI的对称矩阵P,使得A1TP+PA10,A2TP+PA20,A3TP+PA30其中123120.81.51.40.9,,.131.32.70.72AAA解:新建feaspexample.m文件.functionmainfunctionclc;%清屏A1=[-12;1-3];%输入已知矩阵A2=[-0.81.5;1.3-2.7];A3=[-1.40.9;0.7-2];setlmis([])%开始设置系统框架机动目录上页下页返回结束12/26P=lmivar(1,[21])%定义矩阵变量lmiterm([111P],1,A1,'s')%1#LMIlmiterm([211P],1,A2,'s')%2#LMIlmiterm([311P],1,A3,'s')%3#LMIlmiterm([-411P],1,1)%4#LMI:Plmiterm([4110],1)%4#LMI:Ilmisys=getlmis%完成系统框架设置[tmin,xfeas]=feasp(lmisys);%求可行解PP=dec2mat(lmisys,xfeas,P)%提取解矩阵机动目录上页下页返回结束13/26运行结果:机动目录上页下页返回结束14/262、具有LMI约束的一个线性目标函数的最小化问题minxcTxs.t.A(x)B(x)相应的求解器是mincx.一般表达形式[copt,xopt]=mincx(lmisys,c,options,xinit,target)求解器的2个输出量:copt:目标函数值cTx的全局最优值;xopt:最优解,可用dec2mat提取相应的矩阵变量.求解器的5个输入量:lmisys:如前所述;c:已知向量;options:可选量,5维向量,描述求解参数,见资料.机动目录上页下页返回结束15/262、具有LMI约束的一个线性目标函数的最小化问题minxcTxs.t.A(x)B(x)相应的求解器是mincx.一般表达形式[copt,xopt]=mincx(lmisys,c,options,xinit,target)求解器的5个输入量:xinit:可选,最优解xopt的一个初始猜测.当输入值不是可行解时,将被忽略;否则可能加快求解过程.target:可选,是目标函数的一个设定值,当cTx≤target,求解过程结束.机动目录上页下页返回结束16/26例:考虑优化问题minXTrace(X)s.t.ATX+XA+XBBTX+Q0,其中X是一个对称的矩阵变量,1211110321,0,1312.121101236ABQ解:根据Schur补性质,上述优化问题等价于新建mincxexample.m文件:TTminTrace()s.t.0XXAXXAQXBBXI机动目录上页下页返回结束17/26functionmainfunctionclc;%清屏A=[-1-21;321;1-2-1];%输入已知矩阵B=[1;0;1];Q=[1-10;-1-3-12;0-12-36];setlmis([])%开始设置系统框架X=lmivar(1,[31]);%定义矩阵变量lmiterm([111X],1,A,'s');%1#LMIlmiterm([1110],Q);lmiterm([112X],1,B);lmiterm([1220],-1);lmisys=getlmis;%完成设置系统框架机动目录上页下页返回结束18/26n=decnbr(lmisys);%得到lmisys系统变量个数c=zeros(1,n);%为变量c预设存储空间forj=1:3%循环命令求系数c[Xj]=defcx(lmisys,j,X);c(j)=trace(Xj);endoptions=[1e-5,0,0,0,0];%精度要求[copt,xopt]=mincx(lmisys,c,options);%求可行解Xopt=dec2mat(lmisys,xopt,X)%提取解矩阵机动目录上页下页返回结束19/26运行结果:机动目录上页下页返回结束20/26机动目录上页下页返回结束21/26机动目录上页下页返回结束22/263、广义特征值的最小化问题minls.t.C(x)D(x)0B(x)A(x)lB(x)相应的求解器是gevp.一般表达式如下[lopt,xopt]=gevp(lmisys,nlfc,options,linit,xinit,target)求解器的2个输出量:lopt:优化问题的全局最优值;xopt:最优解,可用dec2mat提取相应的矩阵变量.求解器的6个输入量:lmisys:l=1时的约束条件,如前所述;nlfc:含l的约束的个数已知向量;机动目录上页下页返回结束23/263、广义特征值的最小化问题minls.t.C(x)D(x)0B(x)A(x)lB(x)相应的求解器是gevp.一般表达式如下[lopt,xopt]=gevp(lmisys,nlfc,options,linit,xinit,target)求解器的6个输入量:options:可选量,5维向量,描述求解参数,见资料.linit,xinit:可选,初始猜测linit=l0,xinit=x0不是可行解时,将被忽略;否则可能加快求解过程.target:可选,只要可行解(l,x)满足l≤target,结束.机动目录上页下页返回结束24/26调用求解器gevp是须遵循以下规则确定包含l的LMIA(x)B(x)即l=1的情况;总把A(x)B(x)放在lmisys的最后;要求有约束0B(x),或保证0B(x)成立的任何其他约束。例:求解,A1A2A3见ppt第11页。T11T22T33mins.t.IPAPPAPAPPAPAPPAP解:新建gevpexample.m文件:机动目录上页下页返回结束25/26functionmainfunctionclc;%清屏A1=[-12;1-3];%输入已知矩阵A2=[-0.81.5;1.3-2.7];A3=[-1.40.9;0.7-2];setlmis([])%开始设置系统框架P=lmivar(1,[21]);%定义矩阵变量lmiterm([1110],1);%PIIlmiterm([-111P],1,1);%PIPlmiterm([211P],1,A1,'s');%1#lhslmiterm([-211P],1,1);%1#rhs,\alpha=1机动目录上页下页返回结束26/26lmiterm([311P],1,A2,'s');%2#
本文标题:LMI工具箱介绍俞立
链接地址:https://www.777doc.com/doc-2885209 .html