线性矩阵不等式
- 格式:ppt
- 大小:636.00 KB
- 文档页数:55
控制论常用的矩阵不等式控制论是一门研究如何通过控制手段来实现系统稳定、优化和鲁棒性的学科,而矩阵不等式则是控制论中常用的数学工具之一。
本文将介绍控制论中常用的几种矩阵不等式,并讨论其在控制系统设计中的应用。
1. 线性矩阵不等式(LMI)线性矩阵不等式是控制论中最常用的矩阵不等式之一。
它的形式为:$$A(x)X+B(x)Y+C^{T}(x)YC(x)<0$$其中,$A(x)$、$B(x)$、$C(x)$均为实系数矩阵函数,$X$、$Y$均为矩阵变量。
该不等式表示的是矩阵函数$A(x)$、$B(x)$、$C(x)$构成的线性系统对应的闭环系统是渐进稳定的,即对任意的初值$x_0$,系统的输出$y(t)$都会收敛到零。
2. Lyapunov矩阵不等式Lyapunov矩阵不等式是控制论中另一种常用的矩阵不等式。
它的形式为:$$A^{T}P+PA<-Q$$其中,$A$为系统的状态转移矩阵,$P$为对称正定矩阵,$Q$为对称正定矩阵。
该不等式表示的是系统的Lyapunov函数$V(x)=x^{T}Px$满足$V(x)leqslant-alpha x^{T}x$,其中$alpha$是正常数。
3. Riccati矩阵不等式Riccati矩阵不等式也是控制论中常用的矩阵不等式之一。
它的形式为:$$A^{T}P+PA-PBR^{-1}B^{T}P<-Q$$其中,$A$、$B$为系统的状态转移矩阵和输入矩阵,$P$为对称正定矩阵,$R$为对称正定矩阵。
该不等式表示的是系统的最优控制输入满足线性方程$u=-R^{-1}B^{T}Px$。
4. Schur矩阵不等式Schur矩阵不等式是控制论中最基本的矩阵不等式之一。
它的形式为:$$Mprec N$$其中,$M$、$N$为两个对称矩阵,$prec$表示矩阵的部分序。
该不等式表示的是矩阵$N-M$是正定的。
总之,矩阵不等式在控制论中具有广泛的应用,可以用于系统稳定性分析、最优控制设计和鲁棒性分析等领域。
一、线性矩阵不等式的LMI 工具箱求解 (一)可行性问题(LMIP )1、可行性问题描述系统状态方程:[]1122331000210-414x x x x u x x ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦在判断系统的稳定性时,根据线性定常系统的李雅普诺夫稳定性判据,需要判断是否存在实对称矩阵P ,使得:TA P +P A =Q -成立,其中Q 为正定矩阵。
那么判断系统稳定性的问题,可以转化为下面不等式是否存在解的问题:TA P +P A <0这种不等式解是否存在的问题可以用MATLAB 的LMI 工具箱进行判断。
2、仿真所需要用到的命令setlmis([]) :开始一个线性矩阵不等式系统的描述; X= lmivar(TYPE,STRUCT):定义一个新的矩阵变量;lmiterm(TERMID,A,B,FLAG):确定线性矩阵不等式的一个项的内容; LMISYS = getlmis :结束一个线性矩阵不等式系统的描述,返回这个现行矩阵不等式系统的内部表示向量LMISYS ;X = dec2mat(LMISYS,DECV ARS,XID):由给定的决策变量得到相应的矩阵变量值。
[tmin,xfeas]=feasp(lmisys):可行性问题的求解器函数,tmin 大于0时,表明LMI 系统不可行,P 阵无解,系统不稳定,tmin 小于0时,便可以用dec2mat 函数求解出P矩阵。
3、仿真结果可以看到,仿真结果tmin<0,因此P阵存在,系统是稳定的。
进一步用dec2mat函数求解出P矩阵。
得:(二)特征值问题(EVP)1、EVP 问题描述该问题对应矩阵工具箱中的LMI 约束的线性目标函数最小化优化问题。
一般采用mincx 求解器求解。
考虑这样一个优化问题:m in ().. 0TTT ra c e X s t A X X A X B B X Q +++<其中:5342154067; 3; 562.78314228A B Q -⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪===-- ⎪ ⎪⎪ ⎪ ⎪ ⎪---⎝⎭⎝⎭⎝⎭2、仿真用到的命令DECV ARS = mat2dec(LMISYS,X1,X2,X3,...) :由给定的矩阵变量得到相应的决策变量值;[copt,xopt]=mincx(LMIs,c,options):用于给定的特征值问题求解,copt 返回全局最优的决策变量,xopt 返回决策变量的最优解。
LMI:Linear Matrix Inequality,就是线性矩阵不等式。
在Matlab当中,我们可以采用图形界面的lmiedit命令,来调用GUI接口,但是我认为采用程序的方式更方便(也因为我不懂这个lmiedit的GUI)。
对于LMI Lab,其中有三种求解器(solver): feasp,mincx和gevp。
每个求解器针对不同的问题:feasp:解决可行性问题(feasibility problem),例如:A(x)<B(x)。
mincx:在线性矩阵不等式的限制下解决最小化问题(Minimization of a linear objective under LMI constraints),例如最小化c'x,在限制条件A(x) < B(x)下。
gevp:解决广义特征值最小化问题。
例如:最小化lambda,在0<B(x),A(x)<lamba*B(x)限制条件下。
要解决一个LMI问题,首要的就是要把线性矩阵不等式表示出来。
对于以下类型的任意的LMI问题N' * L(X1, . . . , XK) * N < M' * R(X1, . . . , XK) * M其中X1, . . . , XK是结构已经事先确定的矩阵变量。
左侧和右侧的外部因子(outer factors)N和M是给定的具有相同维数的矩阵。
左侧和右侧的内部因子(inner factors)L(.)和R(.)是具有相同结构的对称块矩阵。
每一个块由X1, . . . , XK以及它们的转置组合而成形成的。
解决LMI问题的步骤有两个:1、定义维数以及每一个矩阵的结构,也就是定义X1, . . . , XK。
2、描述每一个LMI的每一项内容(Describe the term content of each LMI)此处介绍两个术语:矩阵变量(Matrix Variables):例如你要求解X满足A(x)<B(x),那么X就叫做矩阵变量。
LMI:Linear Matrix Inequality,就是线性矩阵不等式。
在Matlab当中,我们可以采用图形界面的lmiedit命令,来调用GUI接口,但是我认为采用程序的方式更方便(也因为我不懂这个lmiedit的GUI)。
对于LMI Lab,其中有三种求解器(solver):feasp,mincx和gevp。
每个求解器针对不同的问题:feasp:解决可行性问题(feasibility problem),例如:A(x)<B(x)。
mincx:在线性矩阵不等式的限制下解决最小化问题(Minimization of a linear objective under LMI constraints),例如最小化c'x,在限制条件A(x) < B(x)下。
gevp:解决广义特征值最小化问题。
例如:最小化lambda,在0<B(x),A(x)<lamba*B(x)限制条件下。
要解决一个LMI问题,首要的就是要把线性矩阵不等式表示出来。
对于以下类型的任意的LMI问题N' * L(X1, . . . , XK) * N < M' * R(X1, . . . , XK) * M其中X1, . . . , XK是结构已经事先确定的矩阵变量。
左侧和右侧的外部因子(outer factors)N和M是给定的具有相同维数的矩阵。
左侧和右侧的内部因子(inner factors)L(.)和R(.)是具有相同结构的对称块矩阵。
每一个块由X1, . . . , XK以及它们的转置组合而成形成的。
解决LMI问题的步骤有两个:1、定义维数以及每一个矩阵的结构,也就是定义X1, . . . , XK。
2、描述每一个LMI的每一项内容(Describe the term content of each LMI)此处介绍两个术语:矩阵变量(Matrix Variables):例如你要求解X满足A(x)<B(x),那么X就叫做矩阵变量。