Matlab中的LMI工具箱的研究与使用讲解学习_第1页
Matlab中的LMI工具箱的研究与使用讲解学习_第2页
Matlab中的LMI工具箱的研究与使用讲解学习_第3页
Matlab中的LMI工具箱的研究与使用讲解学习_第4页
Matlab中的LMI工具箱的研究与使用讲解学习_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Good is good, but better carries it.精益求精,善益求善。Matlab中的LMI工具箱的研究与使用目录TOCo1-3hzuHYPERLINKl_Toc324763330摘要PAGEREF_Toc324763330h1HYPERLINKl_Toc324763331关键词PAGEREF_Toc324763331h1HYPERLINKl_Toc324763332AbstractPAGEREF_Toc324763332h1HYPERLINKl_Toc324763333KeywordsPAGEREF_Toc324763333h1HYPERLINKl_Toc3247633

2、34引言PAGEREF_Toc324763334h2HYPERLINKl_Toc3247633351LMI工具箱介绍和使用PAGEREF_Toc324763335h3HYPERLINKl_Toc32476333611系统描述PAGEREF_Toc324763336h3HYPERLINKl_Toc32476333712信息检PAGEREF_Toc324763337h3HYPERLINKl_Toc32476333813问题求解PAGEREF_Toc324763338h3HYPERLINKl_Toc32476333914结果验证PAGEREF_Toc324763339h3HYPERLINKl_Toc

3、3247633402LMI基础知识PAGEREF_Toc324763340h4HYPERLINKl_Toc32476334121LMI的一般形式PAGEREF_Toc324763341h4HYPERLINKl_Toc32476334222描述LMI的相关术语PAGEREF_Toc324763342h4HYPERLINKl_Toc32476334323LMI应用的基本问题PAGEREF_Toc324763343h5HYPERLINKl_Toc32476334424LMI不等式问题PAGEREF_Toc324763344h6HYPERLINKl_Toc32476334525三类标准的LMI控制问题

4、及其相应的求解器PAGEREF_Toc324763345h6HYPERLINKl_Toc324763346251可行性问题PAGEREF_Toc324763346h6HYPERLINKl_Toc324763347252具有线性矩阵不等式约束的一个线性目标函数的最小化问题PAGEREF_Toc324763347h6HYPERLINKl_Toc324763348253广义特征值最小化问题PAGEREF_Toc324763348h6HYPERLINKl_Toc3247633493LMI工具箱函数详解PAGEREF_Toc324763349h9HYPERLINKl_Toc32476335031LMI工

5、具箱函数列表PAGEREF_Toc324763350h9HYPERLINKl_Toc32476335132确定LMI系统的函数PAGEREF_Toc324763351h9HYPERLINKl_Toc32476335233对LMI变量的操作PAGEREF_Toc324763352h10HYPERLINKl_Toc32476335334LMI求解器命令PAGEREF_Toc324763353h10HYPERLINKl_Toc32476335435结果验证和修改PAGEREF_Toc324763354h12HYPERLINKl_Toc324763355351结果验证PAGEREF_Toc324763

6、355h12HYPERLINKl_Toc324763356352结果修改PAGEREF_Toc324763356h12HYPERLINKl_Toc32476335736LMI系统信息提取PAGEREF_Toc324763357h12HYPERLINKl_Toc3247633584线性矩阵不等式在控制理论中的应用PAGEREF_Toc324763358h14HYPERLINKl_Toc32476335941LMI用于控制问题常用的技术PAGEREF_Toc324763359h14HYPERLINKl_Toc324763360411矩阵操作技术PAGEREF_Toc324763360h14HYPE

7、RLINKl_Toc324763361412LFT(LinearFractionTransformation)和多胞(polytopy)表示方法PAGEREF_Toc324763361h14HYPERLINKl_Toc32476336242在控制理论中的应用举例PAGEREF_Toc324763362h14HYPERLINKl_Toc32476336343用线性矩阵不等式求解控制问题的实例PAGEREF_Toc324763363h15HYPERLINKl_Toc32476336444基于LMI的鲁棒控制器设计PAGEREF_Toc324763364h16HYPERLINKl_Toc324763

8、3655结论和展望PAGEREF_Toc324763365h20HYPERLINKl_Toc324763366致谢PAGEREF_Toc324763366h21HYPERLINKl_Toc324763367参考文献PAGEREF_Toc324763367h22Matlab中的LMI工具箱的研究与使用摘要:由于内点算法可以利用计算机求解高阶矩阵不等式,使得线性矩阵不等式(LMI)在控制理论得以应用,因而线性矩阵不等式在控制系统分析、设计中扮演着越来越重的角色。在毕业设计中,我学习了LMI理论,Matlab中LMI工具箱的使用,研究了常见的控制问题与LMI关系以及其表达式,并研究了基于LMI方法的

9、鲁棒控制器设计问题,推导了如何将鲁棒控制器设计问题转化为LMI形式,给出了通过求解LMI方程构造控制率的算法。LMI是一种较新的方法,可以在控制系统的许多领域得以应用,如鲁棒控制、非线性控制预测控制等有着巨大的潜力。关键词:线性矩阵不等式;LMI工具箱;控制系统TheresearchanduseoftheMatlbaLMItoolboxStudentmajoringinAutomationSUNPeng-kunTutorAbstract:Duetotheinteriorpointalgorithmcanusecomputertosolvehighordermatrixinequality,It

10、makesthelinearmatrixinequality(LMI)inthecontroltheorytoapplicationandlinearmatrixinequality(LMI)playedmoreandmoreheavyroleinthecontrolsystemanalysisanddesign.Atthegraduationdesign,IstudiedtheLMItheory,intheuseofMatlabLMItoolbox,andstudiestheproblemofcommoncontrolwithLMIrelationsanditsexpression,andI

11、studiedtheproblemoftherobustcontoellerdesignthatbasedonlmimethod,howtotransformtherobustcontrollerdesignproblemintotheLMIform,andgivenbysolvingtheLMIequationoftectoniccontrolalgorithm.LMIisanewmethod,itcanbeusedinmanycontrolsystemfields,suchasrobustcontrol,nonlinearcontrolpredictivecontrol,andithasg

12、reatpotential.Keywords:linearmatrixinequality;LMItoolbox;controlsystem;robustcontrol引言线性矩阵不等式(LMI)工具箱是求解一般线性矩阵不等式问题的一个高性能软件包。由于其面向结构的线性矩阵不等式表示方式,使得各种线性矩阵不等式能够以自然块矩阵的形式加以描述。一个线性矩阵不等式问题一旦确定,就可以通过调用适当的线性矩阵不等式求解器来对这个问题进行数值求解。LMI工具箱提供了确定、处理和数值求解线性矩阵不等式的一些工具,它们主要用于:以自然块矩阵形式来直接描述线性矩阵不等式;获取关于现有的线性矩阵不等式系统的信息

13、;修改现有的线性矩阵不等式系统;求解三个一般的线性矩阵不等式问题;验证结果。在60年代,已经提出了线性矩阵不等式,但由于当时的线性矩阵不等式的算法还不够成熟。再加上求解量大,因而线性矩阵不等式在实际中未得到充分应用。近几年来,由于线性矩阵不等式的理论不断完善,求解算法也不断成熟,加上计算机的广泛应用,线性矩阵不等式的求解变得很方便,因此线性矩阵不等式在实际工程中尤其在控制工程理论中得到广泛的应用。由于用线性矩阵不等式求解控制理论中的问题是当今控制理论发展的一个重要方向,因此出现了许多计算机应用软件,其中以美国MathsWorks.Inc公司用C语言开发的MATLAB软件最为流行。在MATLAB

14、5.1版本中,就增加了用于求解线性矩阵不等式的线性矩阵不等式控制工具箱。近十多年来,线性矩阵不等式广泛用于解决控制系统中的问题,随着线性矩阵不等式的内点法的提出、Matlab软件中LMI工具箱的推出,线性矩阵不等式(LMI)越来越受到人们的重视,已成为系统与控制领域研究中的一大热点问题。1971年,Willems提出了线性矩阵不等式(LMI)的概念,1988年,Nesterov和Nemirovskii研究出可直接用于求解LMI凸优化问题的内点算法,随后Boyd等人总结了LMI在工程系统和控制理论中的应用,奠定了LMI在控制理论与应用的基础。由于目前许多控制系统的分析、设计问题以及约束条件等均可

15、以转化为一系列LMI的可解性问题来处理,并有Matlab等高效可靠的工具软件提供技术支持和开发手段,因此基于LMI的控制理论和方法已成为近年来控制界的研究热点之一。近年来LMI主要应用在控制理论中,广泛应用于解决系统与控制中的一系列问题。这些问题的解决一般是根据控制理论建立线性矩阵不等式,然后再用Matlab中的LMI工具箱求解(LMI工具箱中的函数一般只能处理固定形式的线性矩阵不等式)。由于LMI的模糊控制理论有效地解决了如何利用Lyapnov方法分析和设计模糊控制器的重要问题,同时也确立了模糊控制理论研究的一个重要方向,因此一经提出便受到了模糊控制研究人员的普遍关注。LMI控制工具箱,采用

16、内点法的LMI求解器,这些求解器比经典的凸优化算法速度有了显著提高。另方方面,它采用了有效的LMI结构化表示,在求解和计算领域做出了重大贡献。因此基于LMI的控制理论和方法已成为近年来控制界的研究热点。1LMI工具箱介绍和使用11系统描述LMI系统的描述既可以通过交互式GUI界面lmiedit来进行直观的矩阵描述,又可以通过命令lmivar和lmiterm来进行逐项的描述。12信息检交互式函数lmiinfo提供有lmiedit、lmivar和lmiterm所创建的LMI系统的量化检索功能。也可以通过lmiedit使得由一系列lmivar和lmiterm命令所建立的LMI系统可视化。13问题求解

17、一般的LMI求解器都可以针对上面说到的三类标准LMI问题进行求解,三个求解器可以解决一般结构的LMI系统和矩阵变量,并返回一个关于决策变量x的可行或者最优解,相应的矩阵变量函数dec2mat得到。求解线性矩阵不等式问题的算法主要有椭球法和内点法及其他的数值解法。其中内点法的优点很明显,它不需要给出迭代的初始可行解且能够求解拟凸问题。Matlab软件开发出功能强大的LMI工具箱的算法就是基于内点法,它提供了与上述相对应的3类标准的线性矩阵不等式问题求解函数:feasp,mincx,gevp。此外,该工具箱还可用于以下几方面。多目标控制器综合,包括LQG综合,SKIPIF10综合和极点配置综合。系

18、统鲁棒性的分析和测试,包括检测时变线性系统的二次稳定性,带有参数的Lyapunov稳定性,混合的SKIPIF10分析以及带有非线性成分的Popov准则。系统的辨识、滤波、结构设计、图形理论、线性代数以及加权值等问题,LMI工具箱还提供了两个交互的图形用户界面(GUI):LMI编辑器和Magshape界面。用户可以在LMI编辑器中很方便地描述线性矩阵不等式。14结果验证所得解x很容易由函数evallmi和showlmi进行验证,从而实现检查分析结果。LMI系统中的所有变量都可以通过evallmi有决策变量x的值来估计,此时,每个LMI左边和右边的部分都变味了常数矩阵,可以由showlmi显示。2

19、LMI基础知识21LMI的一般形式一个线性矩阵不等式具有如下形式:SKIPIF10(1)式中,SKIPIF10,SKIPIF10是m个实数变量,称为是线性矩阵不等式(1)的决策变量,SKIPIF10是由决策变量构成的向量,称为决策向量。SKIPIF10,SKIPIF10是一组给定的实对称矩阵,式(1)中的“”指的是矩阵SKIPIF10是负定的,即对所有非零的向量SKIPIF10或SKIPIF10的最大特征值小于零。所有满足线性矩阵不等式(1)的SKIPIF10的全体构成一个凸集。在线性矩阵不等式使用之前,许多控制问题是用Riccati不等式方法来解决的,而Riccati不等式的求解带有一定的保

20、守性。Riccati不等式是二次矩阵不等式,所以将二次矩阵不等式转化成线性矩阵不等式很有必要和意义,在此转化过程中,矩阵的Schur补引理起着决定性的作用。考虑一个矩阵SKIPIF10,并将SKIPIF10进行分块SKIPIF10式中,SKIPIF10是SKIPIF10维的。假定SKIPIF10是非奇异的,则SKIPIF10称为是SKIPIF10在SKIPIF10中的Schur补。下面不加证明地给出矩阵的Schur补引理及其性质。引理:对给定的对称矩阵SKIPIF10,以下3个结论是等价的。SKIPIF10注意到式(ii)和式(iii)中的第二个不等式是一个非线性矩阵不等式,上述的等价关系说明

21、了应用矩阵的Schur补性质,一些非线性矩阵不等式可以转化成线性矩阵不等式。从而利用现有的软件Matlab中的LMI工具箱可以直接对问题求解。22描述LMI的相关术语以SKIPIF10控制中的一个典型线性矩阵不等式为例来进行说明:SKIPIF10(2)式中SKIPIF10是外因子;SKIPIF10叫项;式中的X为矩阵变量;“”左边为较小的一边叫左边,0为右边。其中,SKIPIF10,SKIPIF10是上述LMI的变量,而A、B、C、D和N都是给定的常数矩阵。或者用更一般形式的表示LMI系统。SKIPIF10(3)式中SKIPIF10为内因子,SKIPIF10为外因子,式中X为矩阵变量。其中SK

22、IPIF10是LMI系统的第k个矩阵变量或标量变量,L和R是关于SKIPIF10的分块矩阵,N和M市给定的常数矩阵。那么我们通过下列语句来描述这个LMI:我们约定左边是不等式较小的一边,右边是不等式较大的一边。比如SKIPIF10,X是不等式的右边,而0是右边,也就是说LMI系统一般总是使用“”号表示不等式,与优化工具箱相似。还有就是标量在Matlab中认为是SKIPIF10的对称矩阵,例如(式2)中的SKIPIF10。(式3)中的N和M称为LMI的外因子,是具有相同维数的给定矩阵,它们可以不是方阵,在一般的问题中都是不出现的。(式3)中的L和R,或者说不等号两边的中间位置的大分块矩阵叫做内因

23、子,L和R是具有相同块结构的对称块矩阵。内因子是一个分块对称矩阵它的分块结构是由其对角块的数目来描述的,并可完全由其对角线以上或以下的那些部分来决定,故在Matlab编程时,内因子只需要并且只能写出它一半。内因子中的子块矩阵中每一个表达式都称为LMI的项,它们是关于矩阵变量X和矩阵标量SKIPIF10的仿射表达式,并且可以分解为一些基本项之和,例如(式2)中的内因子的第(1,1)块就包含两个基本项:SKIPIF10和SKIPIF10。内因子中的每项都有常数项和变量项之分,所谓常数项即(式2)中所示的B和D,而变量项则至少包含一个矩阵变量,例如SKIPIF10以及SKIPIF10等。23LMI应

24、用的基本问题与控制理论相关的LMI问题的研究已有相当长的历史,Lyapunov、Lure、Popov、Yakubovich、Kalman都作出过独特的贡献。80年代,Pyatniskii和Skirodiski把Lure的问题简化为一个凸优化问题,Nestrov等又提出了可直接用于矩阵不等式凸规划问题求解的内点方法,使得利用LMI求解控制问题变得实用有效。基本的LMI问题分三类:严格LMI可解性问题(LMIP);特征值问题(EVP);广义特征值问题(GEVP)。控制理论中的一些性能指标、稳定性判据等量化条件之所以可以转化为LMI标准问题,是由于一方面LMI能表示范围广泛的不同类凸约束,另一方面L

25、yapunov方法可以很方便地引出凸或拟凸问题。除此之外,图1对常用的鲁棒控制方法,如小增益定理、SKIPIF10的综合方法等与LMI技术的较为深层的关系进行了说明。其中,正实/有界实定理作为桥梁,把输入输出方法和状态空间连接了起来,故从理论上指出了LMI技术广泛用于鲁棒控制问题的可能性。小增益定理对偶同构无源性定理正实/有界实定理LMI技术输入-输出方法状态空间法SKIPIF10方法密切相关SKIPIF10方法图1LMI与一些控制原理的关系LMI标准问题的数值解法有多种,Beck在文献13中综述了这些方法。它们的共同思路都是把LMI问题看作凸优化问题处理。主要的LMI求解算法有替代凸投影算法

26、、椭球算法及内点法。内点法又分中心点法、投影法、原始-对偶法。Nestorov等对不同内点算法的计算复杂性界限给出了理论分析。从实验验证上看,目前最好的内点法是Nemiroskii等的投影算法。投影算法跟其他方法相比,有如下优点:不需要给出迭代的初始可行解,即不另需独立的算法对初始可行解进行求解;它能够扩展到求解拟凸问题,即LMI约束下广义特征值问题;它能够充分利用有块对角结构的LMI问题的结构信息,减少保守性;整个过程可以给以清晰的几何图示进行说明,易于理解。目前基于MATLAB环境的LMI求解软件包采用的就是这种方法。24LMI不等式问题在控制工程中,许多控制问题尤其是鲁棒控制问题,都可转

27、化成一种称为线性矩阵不等式问题或带有线性矩阵不等式限制条件的简单的最优化问题的求解。线性矩阵不等式的一般形如下SKIPIF10或SKIPIF10式中具体信息前文1.1中有详细的介绍,这里就不在重复。在控制理论中,经常遇到的两种矩阵不等式为:李亚普诺夫(Lyapunov)不等式SKIPIF10SKIPIF10(4)李卡第(Riccati)不等式SKIPIF10SKIPIF10(5)显然,式(4)是线性矩阵不等式,式(5)由于含有二次项SKIPIF10,故此式是二次矩阵不等式而不是线性矩阵不等式,但利用Schur定理,可很容易将其变成线性矩阵不等式,即SKIPIF10(6)在上述两种线性矩阵不等式

28、中,对称矩阵X中的SKIPIF10个未知的自由项(元素)构成了决策向量x,即SKIPIF10。25三类标准的LMI控制问题及其相应的求解器在控制、辨识和信号处理等领域中,许多问题都可以转化成用线性矩阵不等式来描述的优化问题。这里介绍3类标准的线性矩阵不等式问题及其求解:一是可行性问题(LMIP);二是特征值问题(EVP);三是广义特征值问题(GEVP)。在MATLAB软件的线性矩阵不等式工具箱(LMIToolbox)中给出了3类问题的求解器。控制系统中的一些性能指标、稳定性判据可以转化为LMI的3类标准问题,其原因是由于一方面Lyapunov方法易得到凸的或拟凸的条件,另一方面LMI本身能表示

29、范围广泛的不同类凸约束。251可行性问题寻找一个SKIPIF10,使得满足线性矩阵不等式系统SKIPIF10(7)相应的求解器是feasp。feasp函数是在线性矩阵不等式SKIPIF10的约束下搜索决策变量SKIPIF10,使得满足上式的SKIPIF10最小化,显然最终如果SKIPIF10,则对应的x即为一组可行解。252具有线性矩阵不等式约束的一个线性目标函数的最小化问题SKIPIF10SKIPIF10(8)此类问题的求解器为mincx。253广义特征值最小化问题SKIPIF10SKIPIF10SKIPIF10SKIPIF10(9)相应的求解器是gecp。以下详细介绍这三个求解器的功能和使

30、用方法:求解器feasp的一般表达式如下:tmin,xfeas=feasp(lmisys,options,target)。求解器feasp是通过求解如下的一个辅助凸优化问题:SKIPIF10SKIPIF10来求解线性矩阵不等式系统lmisys的可行性问题。这个凸优化问题的全局最优值用tmin表示,作为求解器feasp输出的第一个分量。如果tmin0,则系统lmisys是可行的。当系统lmisys为可行时,求解器feasp输出的第二个分量xfeas给出了该线性矩阵不等式系统决策变量的一个可行解。进而,应用dec2mat可以得到系统lmisys矩阵变量的一个可行解。求解器feasp的输入变量tar

31、get为tmin设置了目标值,使得只要tmin0表示限制决策变量在球体SKIPIF10中,或者说向量xfeas的欧氏范数不超过R。该参数的默认值是SKIPIF10。可行域半径的设定可以避免产生具有很大数值的解,同时也可以加快计算过程,改进数值稳定性。options(4):该参数用于加快迭代过程的结束,它提供了反映优化过程中迭代速度和解的精度之间的一个折中指标。当该参数取值为一个正整数J时,表示在最后的J次迭代中,如果每次迭代后t的减小幅度不超过1%,则优化迭代过程就停止。该参数的默认值是10。options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默

32、认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。mincx求解器mincx的一般表达式如下:copt,xopt=mincx(lmisys,c,options,xinit,target)问题中的线性矩阵不等式系统由lmisys表示,向量c和决策变量向量x有相同的维数。对于由矩阵变量表示的线性目标函数,可以应用函数defcx来得到适当的向量c。函数mincx返回到目标函数的全局最优值copt和决策变量的最优解xopt,相应的矩阵变量的最优解可以应用函数dec2mat从xopt得到。函数mincx的输入量中除了lmisys和c以外

33、,其他的输入是可选择的。xinit是最优解xopt的一个初始猜测(可以从矩阵变量SKIPIF10的给定值,通过使用mat2dec来导出xinit)。当输入的xinit不是一个可行解时,它将被忽略;否则,则有可能加快问题求解的过程。target是目标函数的一个设定目标,只要某个可行的SKIPIF10满足SKIPIF10,求解过程就停止。options是一个5维向量,它用来描述优化迭代过程中的一些控制参数:options(1):该参数确定了最优值copt所要求的精度(默认值是SKIPIF10)。options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)。options(3)

34、:该参数设定了可行域的半径。有求解器feasp中的相应参数相同。options(4):该参数用于加快迭代过程的结束。当该参数取值为一个正整数J时,表示在最后的J次迭代中。如果每次迭代后,目标函数SKIPIF10的减小幅度在给定的精度内,则优化迭代过程就停止。该参数的默认值是5。options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。求解器gevp的一般表达式如下:lopt,xopt=gevp(lmisys,nlfc,options,

35、linit,xinit,target)如果问题的线性矩阵不等式约束是可行的,则gevp给出了优化问题的全局最小值lopt和决策向量x的最优解xopt。相应的矩阵变量的最优解可以应用dec2mat得到。输入分量lmisys表示当SKIPIF10时由SKIPIF10SKIPIF10SKIPIF10构成的线性矩阵不等式系统。包含SKIPIF10的线性矩阵不等式系统称为线性分式约束。线性分式约束SKIPIF10的个数用nlfc表示。其他的输入分量都是可选择的。如果SKIPIF10是一个可行解,则通过令SKIPIF10、SKIPIF10,将SKIPIF10设置为gevp的初始值。当SKIPIF10不是可

36、行解时,这样的初始值设置不会被接受。target的设定值表明了只要当一个可行解SKIPIF10满足SKIPIF10时,迭代过程就停止。可选择的输入量options是一个5维向量,它用来描述优化迭代过程中的一些控制参数:options(1):该参数设定了最优值lopt所要求的精度(默认值是SKIPIF10)。options(2):该参数设定优化迭代过程中允许的最大迭代次数(默认值是100)。options(3):该参数设定了可行域的半径。与求解器feasp中的相应参数相同。options(4):该参数用于加快迭代过程的结束。当该参数取值为一个正整数J时,表示在最后的J次迭代中,如果每次迭代后SK

37、IPIF10的减小幅度在给定的精度内,则优化迭代过程就停止。该参数的默认值是5。options(5):options(5)=1表示不显示迭代过程中的数据,options(5)=0(默认值)则相反。将options(i)设置为零相当于将相应的控制参数设置为默认值,也可以通过忽略该输入变量来接受默认值。对广义特征值的最小化问题,在调用求解器gevp时,须遵循以下规则:确定包含SKIPIF10的线性矩阵不等式:SKIPIF10(注意没有SKIPIF10);总是把SKIPIF10放在线性矩阵不等式系统的最后;要求有约束SKIPIF10,或者保证SKIPIF10成立的任何其他约束。根据以上要求,对于SK

38、IPIF10,SKIPIF10的广义特征值优化问题,我们就不能直接应用求解器gevp来求解。为了克服这一困难,可以通过引进矩阵变量Y,并用SKIPIF10,SKIPIF10,SKIPIF10来代替SKIPIF10,SKIPIF10而等价的新问题可以用gevp来求解。3LMI工具箱函数详解31LMI工具箱函数列表1确定LMI系统的函数setlmis初始化LMI系统lmivar定义矩阵变量lmiterm确定LMI系统中每一项的内容newlmi多LMI系统中添加新的LMIgetlmis获得LMI系统的内部描述lmiedit通过GUI界面确定LMI系统2对LMI变量的操作dec2mat将求解器的输出转

39、化为矩阵变量值mat2dec通过给定的矩阵变量值返回决策向量3LMI解算器feasp验证LMI的可行性mincxLMI限制下线性目标的极小值defcx在mincx命令中第一SKIPIF10目标gevpLMI限制下的广义特征值最小化4LMI结果验证与修改evallmi由决策变量的给定值来验证所有的变量项showlmi返回一个已经评估的LMI的左右边dellmi从系统中删除一个LMIdelmvar从问题中移除一个矩阵变量setmvar将一个矩阵变量赋予指定值5LMI系统信息的提取decinfo以决策变量的形式表示每个输入的矩阵变量decnbr得到决策变量的个数lmiinfo查询现存LMI系统的信息

40、lminbr得到问题中LMI的个数mntnbr得到问题中矩阵变量的个数32确定LMI系统的函数(1)setlmis()或者setlmis(lmi0)在通过lmivar以及lmiterm描述一个LMI系统之前,利用setlmis初始化其内部表示。为一个已经存在的LMI系统中添加新描述,使用后者,其中lmi0表示已存在的LMI系统,之后的lmivar和lmiterm被用来在lmi0中添加新的变量和项。(2)X,n,sX=lmivar(type,struct)为LMI问题定义矩阵变量,其中type和struct是描述该矩阵变量的必须参数。type确定变量X的类型,struct描述变量X的内容。typ

41、e=1:此时X是具有块对角化对称矩阵。X对角线上的每一个矩阵SKIPIF10必须是方阵,注意标量也SKIPIF10的方阵。此时的矩阵变量X大体结果如下:SKIPIF10(SKIPIF10必须是方阵)如果X具有n个对角块,那么struct是一个SKIPIF10的矩阵:m=struct(i,1)表示第i个方阵(即SKIPIF10)的大小,比如SKIPIF10是SKIPIF10的方阵,那么struct(i,1)=5,n=struct(i,2)表示Di的内容,n=-1表示SKIPIF10是零矩阵,n=0表示标量,n=1表示满矩阵。type=2:表示X是一个SKIPIF10的长方形矩阵,此时struct

42、=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个决策变量。typeStruct=mn说明1m第i个矩阵的大小X必须是对角化的块对称矩阵,每个块也必须是方阵n-1零矩阵0标量1满矩阵2mnX为SKIPIF10的长方形矩阵,不能包含子块矩阵3(3)lmiterm(termID,A,B,flag)确定LMI中每一项的内容,包括内外因子、常数项以及变量项。再次强调,在描述一个具有分块对

43、称的LMI时,只需要确定右上角或者左下角即可。termID:四元向量,确定该项的位置以及包含的矩阵变量。termID(1)表述所描述的项属于哪个LMI,它可取值为p或者-p,p代表该项位于第p个LMI的左边,而-p则代表该项位于第p个LMI的右边。我们再起强调,左边是指LMI较小的那一边。termID(2:3)表示所描述的项所在LMI中块的位置,如果该项位于内因子的第(i,j)块,那么termID(2:3)=i,j;如果该项在外因子中,那么termID=00。termID(4)表示所描述的项是常数项还是变量项。0代表常数项,k代表该项中包含第k个矩阵变量SKIPIF10,-k代表该项中包含第k

44、个矩阵变量SKIPIF10的转置SKIPIF10。termID取值所描述的项termID(1)P位于第p个LMI的左边-p位于第p个LMI的右边termID(2:3)00外因子ij在内因子中的位置(i,j)termID(4)0常数SKIPIF10项中包含第k个矩阵变量SKIPIF10SKIPIF10项中包含第k个矩阵变量的转置SKIPIF10参数A、B是描述该项包含的数据信息,具体可以看下面的表格:所描述项AB外因子NN省略常数项C或者Q*QC/Q*Q省略变量项SKIPIF10或者SKIPIF10A/AB/B(4)tag=newlmi在当前多描述的LMI系统中添加一个新的LMI,并返回它的句柄

45、tag。(5)lmisys=getlmis在利用lmivar和lmiterm描述给定LMI后,通过getlmis获取当前LMI系统的内部描述,注意这个命令是必须的。(6)lmiedit打开LMI的GUI界面,它可以直观的编辑LMI。其实这个界面对与大部分人来说没有太大的意义,由于它只是免去你书写和记忆lmiterm函数中的参数,但是lmivar参数,比如type和struct还是要理解的,当然对初学这可能可以方便些。33对LMI变量的操作(1)valX=dec2mat(lmisys,decvars,X)给定决策变量的值返回相应矩阵变量的值。(2)decvec=mat2dec(lmisys,X1

46、,X2.)根据矩阵变量的特殊值来返回决策变量组成的决策向量。给定一个LMI系统lmisys和矩阵变量X1,X2.,得到决策向量decvec。这个函数在初始化LMI求解器mincx和gevp的时候很重要,通过给定一个关于矩阵变量X1,X2.的初始值,mat2vec将会组成相应的关于决策变量xinit的向量。34LMI求解器命令(1)tmin,xfeas=feasp(lmisys,options,target)计算以lmisys描述的LMI系统的一个可行解,向量xfeas是一个guanyu决策变量的特殊值,它满足任意一个LMI。即:给定LMI系统SKIPIF10 xfeas通过求解辅助凸优化问题S

47、KIPIF10SKIPIF10(10)其中,(式10)的全局最优解由标量值tmin表示,如果tmin0,那么系统是严格可行的。如果问题是可行但非严格可行的话,tmin是一个非常小的整数。options:是一个长度为5的向量,用来描述优化算法中的某些控制参数。options说明options(1)不使用options(2)=n设置优化算法的过程中允许的最大迭代次数n,默认n=100options(3)=R设定可行域半径R,表示决策变量被限制在球体SKIPIF10内,默认SKIPIF10options(4)=J加快优化迭代过程,表示在最后的J次迭代中,如果每次迭代后t的减小幅度不超过1%,迭代即终

48、止,默认J=10options(5)0显示迭代过程,默认01不显示迭代过程Target:为tmin设定目标值,使得只要满足tmintarget,则优化迭代过程终止,默认target=0。(2)copt,xopt=mincx(lmisys,c,options,xinit,target)求解具有LMI约束的线性目标函数的最小化问题,返回目标最小值copt和对应的决策变量的值,即解决下面的凸包问题:SKIPIF10(x为决策向量)SKIPIF10lmisys:需要求解的LMI系统。c:就是目标函数SKIPIF10中的那个c,通常情况题目不会直接给出c而是需要我们间接的求解。控制系统中大部分都是以变量

49、矩阵X的形式给出目标函数,而不是刚才说到的决策向量的形式。此时我们一般需要通过defcx函数来求解。xinit:决策变量x的初始猜测值,它可以加快问题求解过程,我们可以使用mat2dec函数从矩阵变量的给定值中导出xinit,但是当输入的xinit不是一个可行解时,将被忽略。target:目标函数的设置目标,只要满足SKIPIF10,求解过程就终止。options:5维向量,控制优化算法中的参数options说明options(1)=tol最优解copt的精度tol,默认0.01options(2)=itermax允许的最大迭代次数itermax,默认100options(3)=R设定可行域半

50、径R,默认SKIPIF10options(4)=J最后J次迭代结果变化幅度在精度范围,将终止迭代过程,默认5options(5)控制是否显示迭代过程,0显示,1不显示,默认0(3)V1,V2.=defcx(lmisys,n,X1,X2.)将矩阵变量形式的目标函数转成决策变量形式,从而得到c,也就是说LMI求解器mincx的目标函数必须转换成SKIPIF10的形式才可以使用,其中x是由决策变量组成的决策向量。然而在多数控制问题中,目标函数一般以矩阵变量X的形式给出,而不是决策向量x。比如trace(X)或者SKIPIF10等。lmisys:需要求解的LMI系统。n:LMI系统中独立变量的个数,可

51、以使用decnlmi函数获取。Xk:第k个矩阵变量。Vk:返回的第k个决策变量系数。(4)lopt,xopt=gevp(lmisys,nlfc,options,linit,target)求解LMI限制下的广义特征矩阵最小化问题:SKIPIF10SKIPIF10SKIPIF10SKIPIF10只要上面的三个约束是可行的,gevp就返回全局最小值lopt和相应的决策变量的值xopt。由于大部分参数前面的相似,我们这里只是说明下不同的参数:nlfc:线性比例约束的个数,即包括SKIPIF10的式子的个数。linit:SKIPIF10的初值猜测值SKIPIF10。xinit:每个决策变量的初始猜测值S

52、KIPIF10,注意必须是以决策向量的形式给出,长度等于decnbr(lmisys)。options:与mincx的完全一样,这里不具体介绍了。35结果验证和修改351结果验证LMI工具箱提供了两个函数用于分析和验证一个线性矩阵不等式优化问题的结果。对一个给定的决策向量的值,例如由线性矩阵不等式求解器给出的可行或最优解向量,函数evallmi求出线性矩阵不等式系统中所有变量项的值,进而应用showlmi给出特定线性矩阵不等式的左边和右边。(1)evalsys=evallmi(lmisys,decvars)对一个给定的决策向量的值decvars,验证LMI求解器的输出,返回给evalsys,之后

53、每个LMI左右两边的矩阵值通过showlmi函数返回。(2)lhs,rhs=showlim(evalsys,n)对于决策变量的给定值,返回每个LMI不等号的左右两边的值。evalsys:由evallmi计算返回的参数。n:第n个LMI。352结果修改LMI工具箱提供了函数setmvar、dellmi和delmvar,它们可以用来修改一个已经确定的线性矩阵不等式系统。(1)函数setmvar用于给某个矩阵变量赋值,一旦赋值,该变量就从原来的问题中消失了,包含该变量的所有项都成为常数项。可以通过以下的命令来实现:newsys=setmvar(lmisys,X,Xval)将Xval赋值给矩阵变量X,

54、此时所有包含X的项都会变为常数项,当然那个矩阵变量X也就从地球上消失了,返回的新LMI系统是有剩下的矩阵变量和常数项构成。setvar的作用就是可是冻结默一个矩阵变量,或者根据剩余变量进行优化,可以避免LMI约束的部分或全部重定义。(2)函数dellmi可以从一个线性矩阵不等式系统中删除一个完整的线性矩阵不等式。可以通过以下的命令来实现:newsys=dellmi(lmisys,n)删除lmisys系统中的第n个LMI,返回新的LMI系统给newsys,当然在被删除的LMI中出现的矩阵变量也会被相应的删除。(3)函数delmvar修改一个线性矩阵不等式系统的方式是删除一个矩阵变量,即在所有包含

55、该变量的变量项中删除该矩阵变量。delmvar提供了这样一种修改功能。可以通过以下的命令来实现:newsys=delvar(lmisys,X)将矩阵变量从当前LMI系统中删除,相当于setvar(lmisys,X,0)。36LMI系统信息提取线性矩阵不等式系统的完整描述是以一个叫做内部表示的向量储存在机器内的。LMI工具箱提供了三个函数lmiinfo、lminbr和matnbr,它们可以从内部表示向量中提取线性矩阵不等式的相关信息,并以用户可读的方式显示出来。lmiinfo是一种交互式工具,用以反映有关线性矩阵不等式系统的一些信息。这些信息包括线性矩阵不等式的个数、矩阵变量的个数和它们的结构、

56、每一个线性矩阵不等式块中项的内容等。为了调用lmiinfo,输入lmiinfo(lmisys)其中的lmisys是由getlmis产生的线性矩阵不等式系统的内部表示。minbr和matnbr这两个函数给出了系统中线性矩阵不等式的个数和矩阵变量的个数。例如,为了得到矩阵变量的个数,输入matnbr(lmisys)。(1)nlmi=lminbr(lmisys)返回由lmisys描述的LMI系统中LMI的个数。(2)nmat=matnbr(lmisys)返回由lmisys描述的LMI系统中矩阵变量的个数。(3)ndec=decnbr(lmisys)返回由lmisys描述的LMI系统中决策变量的个数。

57、(4)lmiinfo(lmisys)返回有lmisys描述的LMI系统中矩阵变量的类型和结构,内因子中对角块的个数以及每一块中各项的内容等。(5)decX=decinfo(lmisys,X)指明X中每一个块,分别是哪个决策变量,返回的decx和X的维数相同X(i,j)=0SKIPIF10decX(i,j)=0X(i,j)=xkSKIPIF10decX(i,j)=kX(i,j)=-xkSKIPIF10decX(i,j)=-k当第二参数省略的时候,会出现交互是界面列所有的决策变量,要求你选择。4线性矩阵不等式在控制理论中的应用41LMI用于控制问题常用的技术411矩阵操作技术矩阵操作技术用于把各种

58、判据最终化为LMI。矩阵不等式的等价变换,主要有Schur补引理;有约束条件矩阵不等式转化为无约束条件矩阵不等式,主要有S-Procedure引理;矩阵变量消去技术,主要有双边投影引理和Finsler引理;矩阵扩展技术,即求构造一个部分项已知的矩阵,并使它满足一定的性质,主要有矩阵完成引理。412LFT(LinearFractionTransformation)和多胞(polytopy)表示方法系统不确定块的LFT表示,是把系统各环节的反馈互联看成是双端口网络的互联,从而在使用LMI技术对系统变换进行描述时,更为直观,也易于用矩阵直接描述系统和控制器结构。不确定块也可采用多胞表示,由于多胞是凸

59、集,它可由端点完全描述。所以,在求解控制器时,如可化为LMI求解,则无须对多胞内的所有点求解,只要对它的端点进行求解即可。因而能大大减少计算量。42在控制理论中的应用举例用于LTI系统的鲁棒多目标分析和综合。基于Lyapunov方法和LMI技术可以统一处理LTI系统稳定、鲁棒性和性能指标问题,且得到的一些判据可为充要条件。统一处理这些鲁棒性能问题的优点是,一旦需要进行多目标综合,就可先把各性能指标与其相应的LMI可解条件一一对应,然后利用LMI的线性特性,把与各目标相对应的LMI像搭积木一样搭成统一的约束框架。基于这一思路,目前已有一些重要的结果,如LTI系统用LMI表示的SKIPIF10、S

60、KIPIF10性能指标及极点配置的充要条件等。用于处理增益调度问题,主要LPV系统的鲁棒性能问题。经典的增益调度方法采用逐点内插和启发式切换策略,但这些技术忽略了控制对象时变的特性,而且理论上缺乏保证系统性能指标的系统方法,因而有一定危险性。采用LMI技术可以弥补这一不足。另外,增益调度需要对实际控制系统的动态知识进行显式利用,因而LMI技术可以满足其实时信息处理的快速性。而且,用LMI技术对LPV系统进行分析综合,可以看作是对LTI系统进行处理的一个自然扩展,它们有相类似的工程上的解释,易于理解,所以LMI技术处理LPV的鲁棒性能问题有一定的优越性。用于非线性系统。LMI技术在线性系统中的成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论