线性矩阵不等式的LMI工具箱求解

合集下载

(整理)LMI线性矩阵不等式工具箱.

(整理)LMI线性矩阵不等式工具箱.

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工具箱介绍——俞立

LMI工具箱介绍——俞立

X=lmivar(type, struct) 用lmivar定义矩阵变量
lmiterm(…………)
用lmiterm描述LMI的每项
lmisys=getlmis
以getlmis结束
2/26
机动 目录 上页 下页 返回 结束
X=lmivar(type, struct) 用lmivar定义矩阵变量
(1) 定义对称块对角结构的矩阵变量X时,
1、可行性问题 寻找一个x∈RN, 使得满足LMI
A(x) < B(x) 相应的求解器是feasp. 一般表达形式
[tmin, xfeas]=feasp(lmisys, options, target) 原理:通过求解如下的辅助优化问题
min t s.t. A(x)-B(x) ≤ tI 来求解线性矩阵不等式系统lmisys的可行性问题.
% 定义矩阵变量 % 1# LMI % 2# LMI % 3# LMI % 4# LMI: P % 4# LMI: I % 完成系统框架设置 % 求可行解 % 提取解矩阵
12/26
机动 目录 上页 下页 返回 结束
运行结果:
13/26
机动 目录 上页 下页 返回 结束
2、具有LMI约束的一个线性目标函数的最小化问题

0.7
0.9
2

.
解: 新建feaspexample.m文件.
function mainfunction clc; A1=[-1 2;1 -3];
% 清屏 % 输入已知矩阵
A2=[-0.8 1.5;1.3 -2.7];
A3=[-1.4 0.9;0.7 -2]; setlmis([])
% 开始设置系统框架
XB

线性矩阵不等式的LMI工具箱求解

线性矩阵不等式的LMI工具箱求解

一、线性矩阵不等式的LMI 工具箱求解(一)可行性问题(LMIP )1、可行性问题描述系统状态方程:[]11223301000210-4014x x x x u x x ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦在判断系统的稳定性时,根据线性定常系统的李雅普诺夫稳定性判据,需要判断是否存在实对称矩阵P ,使得:T A P+PA=Q -成立,其中Q 为正定矩阵。

那么判断系统稳定性的问题,可以转化为下面不等式是否存在解的问题:T A P+PA<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 求解器求解。

考虑这样一个优化问题:min ().. 0T T Trace X s t A X XA XBB X Q +++<其中: 5342154067; 3; 562.78314228A B Q -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪===-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪---⎝⎭⎝⎭⎝⎭2、仿真用到的命令DECV ARS = mat2dec(LMISYS,X1,X2,X3,...) :由给定的矩阵变量得到相应的决策变量值;[copt,xopt]=mincx(LMIs,c,options):用于给定的特征值问题求解,copt 返回全局最优的决策变量,xopt 返回决策变量的最优解。

Matlab工具箱解LMI 线性矩阵不等式详解

Matlab工具箱解LMI 线性矩阵不等式详解
• 第一个参数是所在不等式名,第二个参数是返回的可行解 (包含很多变量),第三个参数是指定变量。
• mincx求解器
• 第一步:建立矩阵不等式,变量命名为X,不 等式组命名为LMIs。
• 第二步:将目标函数Trace(X)写成cTX形式。用 函数mat2dec建立c。
• Mat2dec的调用格式:定义与X同阶的矩阵W, mat2dec(LMIs, W)返回的是W与X对应元素乘 积的和。(延申,257页,defcx等)
提取结果和验证结果:evallmi和 showlmi
• 用法: • EVALSYS = evallmi(LMISYS,DECVARS):计算出矩阵
不等式中所有决策变量项的值(矩阵形式?); • [LHS,RHS]=showlmi(LMISYS,N):给出第N个线性矩
阵不等式的左边和右边的矩阵值。
• lmiterm([-1 1 1 0],0); • lmiterm([-1 2 1 0],B'*P1); • lmiterm([-1 2 2 0],P3*B+B'*P2);
• lmis=getlmis;
• 四、观察所建立的矩阵不等式的信息
• 使用函数lmiinfo(lmisys),lmibr(lmisys), matnbr(lmisys)可以提取所建立的不等式 lmisys的信息。
其它命令
• 1、用于求个数的命令: • lminbr(lmisys):给出系统中线性矩阵不等式的个数;
matnbr(lmisys):给出系统中矩阵变量的个数; decnbr(lmisys):给出系统中决策变量的个数。 • 2、用于查看相关信息的命令: • lmiinfo(LMISYS):给出线性矩阵不等式系统的信息; DECX = decinfo(LMISYS,XID) :给出决策变量和矩阵变 量之间关系的一些详细信息。

LMI工具箱介绍 程五彬

LMI工具箱介绍 程五彬

为证明定理1中结果具有较低的保守性,考虑以下算例。 考虑以上具有两模态的时滞马尔可夫跳跃系统,系统参数如下:
为了将定理1中结果与文献[9]中的结果进行比较,首先设定h1=0,u11=0.1,u22=-0.8,对于给定u值,满足式(4)~(8)的最大时滞h2可以通过求quasi 凸优化问题得到。表1给出了比较结果。
举个例子说明下考虑有3个矩阵变量的lmi系统其中x1是33的对称矩阵x2是24的矩阵x3具有下面的形式其中是一个任意的55的对称矩阵1和2是标量i2是22的单位矩阵利用lmivar定义上述三个矩阵变量如下
利用MATLABLMI工具计算保持线性 系统稳定的最大时滞
0 引言
线性矩阵不等式(LMI)工具箱是求解一般线性矩阵不等式问题的一个高性能 软件包。由于其面向结构的线性矩阵不等式表示方式,使得各种线性矩阵不等 式能够以自然块矩阵的形式加以描述。一个线性矩阵不等式问题一旦确定,就 可以通过调用适当的线性矩阵不等式求解器来对这个问题进行数值求解。
如果X具有n个对角块,那么struct是一个n×2的矩阵: m=struct(i,1)表示第i个方阵(Di)的大小,比如Di是5×5的方阵,则struct(i,1)=5 n=struct(i,2)表示Di的内容,n=-1表示Di是零矩阵,n=0表示数量矩阵,n=1表 示满的对称矩阵(或无结构的对称矩阵)。 type=2:表示X是一个m×n的长方形矩阵,此时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个决策变量。

matlab lmi工具箱使用实例

matlab lmi工具箱使用实例

MATLAB(Matrix Laboratory)是一款广泛应用于科学计算和工程领域的专业软件,其功能强大、灵活性高,并且具有丰富的工具箱支持。

LMI(Linear Matrix Inequality)工具箱是MATLAB中的一种工具箱,用于解决线性矩阵不等式相关的问题。

本文将介绍LMI工具箱的基本使用方法,并结合具体实例进行详细讲解。

一、LMI工具箱的安装1.确保已经安装了MATLAB软件,并且软件版本是R2015b及以上版本。

只有在这些版本中,LMI工具箱才会被自动安装。

2.在MATLAB的命令行中输入“ver”,可以查看当前安装的工具箱列表,确认LMI工具箱是否已经成功安装。

二、LMI工具箱的基本功能1. LMI工具箱主要用于解决线性矩阵不等式问题,例如矩阵的稳定性分析、最优控制问题等。

2. LMI工具箱提供了一系列的函数和工具,能够方便地构建和求解线性矩阵不等式问题,同时也包括了一些经典的稳定性分析方法和控制器设计方法。

三、LMI工具箱的基本使用方法1. 定义变量:在使用LMI工具箱时,首先需要定义相关的变量。

可以使用“sdpvar”函数来定义实数变量,使用“sdpvar”函数和“size”函数可以定义矩阵变量。

2. 构建约束:在定义变量之后,需要构建线性矩阵不等式的约束条件。

可以使用“sdpvar”变量的线性组合来构建约束条件,使用“>=”来表示大于等于关系。

3. 求解问题:构建好约束条件之后,即可使用“optimize”函数来求解线性矩阵不等式问题。

在求解问题时,可以指定优化的目标函数和一些额外的约束条件。

四、LMI工具箱的实例应用下面我们通过一个具体的实例来演示LMI工具箱的使用方法。

假设有一个线性时不变系统,其状态方程可以表示为:$\dot{x} = Ax + Bu$其中,A和B分别为系统的状态矩阵和输入矩阵。

我们希望设计一个状态反馈控制器K,使得系统在闭环下能够保持稳定。

线性矩阵不等式的LMI工具箱求解

线性矩阵不等式的LMI工具箱求解

一、线性矩阵不等式的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 返回决策变量的最优解。

Matlab中的LMI工具箱的研究与使用

Matlab中的LMI工具箱的研究与使用

Matlab中的LMI工具箱的研究与使用Matlab中的LMI工具箱的研究与使用摘要:由于内点算法可以利用计算机求解高阶矩阵不等式,使得线性矩阵不等式(LMI)在控制理论得以应用,因而线性矩阵不等式在控制系统分析、设计中扮演着越来越重的角色。

在毕业设计中,我学习了LMI理论,Matlab中LMI工具箱的使用,研究了常见的控制问题与LMI关系以及其表达式,并研究了基于LMI方法的鲁棒控制器设计问题,推导了如何将鲁棒控制器设计问题转化为LMI形式,给出了通过求解LMI方程构造控制率的算法。

LMI是一种较新的方法,可以在控制系统的许多领域得以应用,如鲁棒控制、非线性控制预测控制等有着巨大的潜力。

关键词:线性矩阵不等式;LMI工具箱;控制系统The research and use of the Matlba LMI toolboxStudent majoring in Automation SUN Peng-kunTutorAbstract:Due to the interior point algorithm can use computer to solve high order matrix inequality,It makes the linear matrix inequality (LMI) in the control theory to application and linear matrix inequality (LMI) played more and more heavy role in the control system analysis and design. At the graduation design, I studied the LMI theory, in the use of Matlab LMI toolbox, and studies the problem of common control with LMI relations and its expression,and I studied the problem of the robust contoeller design that based on lmi method, how totransform the robust controller design problem into the LMI form, and given by solving the LMI equation of tectonic control algorithm. LMI is a new method, it can be used in many control system fields, such as robust control, nonlinear control predictive control, and it has great potential.Key words: linear matrix inequality; LMI toolbox; control system;robust control引言线性矩阵不等式(LMI)工具箱是求解一般线性矩阵不等式问题的一个高性能软件包。

LMI(线性矩阵不等式)工具箱介绍学习

LMI(线性矩阵不等式)工具箱介绍学习

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工具箱的应用课件

LMI工具箱的应用课件
14
例:求解以下优化问题 其中: 是一个对称的矩阵变量,
15
clc clear A=[-1 -2 1;3 2 1;1 -2 -1]; B=[1;0;1]; Q=[1 -1 0;-1 -3 -12;0 -12 -36]; c=[1 0 1 0 0 1];
setlmis([]); X=lmivar(1,[3,1]); BR=newlmi; lmiterm([BR 1 1 X],A',1,'s'); lmiterm([BR 1 1 0],Q); lmiterm([BR 1 2 X],1,B); lmiterm([BR 2 2线性目标函数的最小化问题
相应的求解器是mincx,其一般形式为: [copt,xopt]=mincx(lmisys,c,options,xinit,target) 返回目标函数cTx的最优解copt和决策变量的最优解xopt。 而最优解xopt可以从dec2mat中得到。 cTx<=target,求解过程停止。 options设置迭代次数、精度等。 xinit是xopt 的一个初始猜测。 mincx中后面三个输入可省略,采用默认值。
BR=newlmi; lmiterm([BR 1 1 P],1,A1,'s'); lmiterm([-BR 1 1 P],1,1); BR=newlmi; lmiterm([BR 1 1 P],1,A2,'s'); lmiterm([-BR 1 1 P],1,1);
22
BR=newlmi; lmiterm([BR 1 1 P],1,A3,'s'); lmiterm([-BR 1 1 P],1,1); lmisys=getlmis; [alpha,xopt]=gevp(lmisys,3); alpha P=dec2mat(lmisys,xopt,P)

LMI工具箱介绍——俞立

LMI工具箱介绍——俞立

LMI 工具箱介绍线性矩阵不等式(LMI )工具箱是求解一般线性矩阵不等式问题的一个高性能软件包。

由于其面向结构的线性矩阵不等式表示方式,使得各种线性矩阵不等式能够以自然块矩阵的形式加以描述。

一个线性矩阵不等式问题一旦确定,就可以通过调用适当的线性矩阵不等式求解器来对这个问题进行数值求解。

LMI 工具箱提供了确定、处理和数值求解线性矩阵不等式的一些工具,它们主要用于:z 以自然块矩阵形式来直接描述线性矩阵不等式; z 获取关于现有的线性矩阵不等式系统的信息; z 修改现有的线性矩阵不等式系统; z 求解三个一般的线性矩阵不等式问题; z 验证结果。

本附录将详细介绍LMI 工具箱提供的用于解决以上各个问题的相关函数和命令。

A.1 线性矩阵不等式及相关术语一个线性矩阵不等式就是具有以下一般形式的一个矩阵不等式:0<+++=N N x x L L L x L "110)( (1)其中:是给定的对称常数矩阵,是未知变量,称为决策变量,N L L L ,,,10"N x x ,,1"∈=T 1],,[N x x "x N R 是由决策变量构成的向量,称为决策向量。

尽管表达式(1)是线性矩阵不等式的一个一般表示式,但在大多数实际应用中,线性矩阵不等式常常不是以一般表示式(1)的形式出现,而是具有以下形式:),,(),,(11n n X X R X X L ""<其中的和是矩阵变量的仿射函数,通过适当的代数运算,上式可以写成线性矩阵不等式的一般表示式(1)的形式。

例如,在系统稳定性问题中经常遇到的Lyapunov 矩阵不等式)(⋅L )(⋅R n X X ,,1"0<+XA X A T (2)也是一个线性矩阵不等式,其中的是一个矩阵变量。

我们以一个二阶矩阵为例,将矩阵不等式(2)写成一般表示式(1)的形式。

针对二阶矩阵不X ⎥⎦⎤⎢⎣⎡−−=2021A等式(2),对应的矩阵变量是一个二阶的对称矩阵,,不等式(2)中的决策变量是矩阵中的独立元。

线性矩阵不等式的MATLAB求解

线性矩阵不等式的MATLAB求解

线性矩阵不等式的MATLAB求解作者:张剑宇来源:《都市家教·上半月》2015年第02期【摘要】本文介绍了有关线性矩阵不等式的一些基本概念。

对用于求解线性矩阵不等式的MATLAB中的线性矩阵不等式工具箱作了简要说明。

为了更加说明线性矩阵不等式的求解过程。

文中还给出了相关的程序命令,以及示例。

【关键词】线性矩阵不等式;MATLAB求解线性矩阵不等式(LMI)在控制系统分析和设计方面得到了广泛的重视和应用,由它的优良性质以及解法的突破。

在现行矩阵不等式出现之前,绝大多数的控制问题都是通过Riccati 方程或其不等式的方法来解决的。

但是解Riccati 方程或其不等式时,有大量的参数和正定对称矩阵需要预先调整。

有时,即使问题本身是有解的,也找不出问题的解。

这给实际应用问题的解决带来极大不便,而线性矩阵不等式方法可以很好地弥补Riccati 方程方法的上述不足。

在解线性矩阵不等式时,不需要预先调整任何参数和正定对称矩阵。

这使得它在在控制系统分析和设计方面得到了广泛的重视和应用。

线性矩阵不等式以及线性矩阵不等式方法(技术)已是控制工程、系统辨识、结构设计等领域的一个强有力的设计工具。

1 线性矩阵不等式的介绍一个线性矩阵不等式具有如下形式:F(x)=F0+x1F1+x2F2+…+xmFm式中,x1,…, xm是m个实数变量,称为是线性矩阵不等式(1)的决策变量, x=(x1,…, xm)T∈Rm是由决策变量构成的向量,称为决策向量。

Fi=FiT∈Rm×m,i=0,1,…, m,是一组给定的实对称矩阵,式(1)中的“2 线性矩阵不等式常用的求解器LMI 工具箱提供了求解以下3 个问题的线性矩阵不等式求解器。

2.1可行性问题寻找一个x∈Rn,使得满足线性矩阵不等式系统:A(x)相应的求解器是feasp。

feasp 函数是在线性矩阵不等式A(x)2.2具有线性矩阵不等式约束的一个线性目标函数的最小化问题s.t. A(x)相应的求解器是mincx。

LMI线性矩阵不等式工具箱

LMI线性矩阵不等式工具箱

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工具箱求解

线性矩阵不等式的LMI工具箱求解

一、线性矩阵不等式的LMI 工具箱求解 (一)可行性问题(LMIP )1、可行性问题描述系统状态方程:[]11223301000210-414x x x x u x x ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦&&& 在判断系统的稳定性时,根据线性定常系统的李雅普诺夫稳定性判据,需要判断是否存在实对称矩阵P ,使得:T A P+PA=Q -成立,其中Q 为正定矩阵。

那么判断系统稳定性的问题,可以转化为下面不等式是否存在解的问题:T A P+PA<0这种不等式解是否存在的问题可以用MATLAB 的LMI 工具箱进行判断。

2、仿真所需要用到的命令setlmis([]) :开始一个线性矩阵不等式系统的描述; X= lmivar(TYPE,STRUCT):定义一个新的矩阵变量;lmiterm(TERMID,A,B,FLAG):确定线性矩阵不等式的一个项的内容; LMISYS = getlmis :结束一个线性矩阵不等式系统的描述,返回这个现行矩阵不等式系统的内部表示向量LMISYS ;X = dec2mat(LMISYS,DECVARS,XID):由给定的决策变量得到相应的矩阵变量值。

[tmin,xfeas]=feasp(lmisys):可行性问题的求解器函数,tmin大于0时,表明LMI系统不可行,P阵无解,系统不稳定,tmin小于0时,便可以用dec2mat 函数求解出P矩阵。

3、仿真结果可以看到,仿真结果tmin<0,因此P阵存在,系统是稳定的。

进一步用dec2mat 函数求解出P 矩阵。

得:(二)特征值问题(EVP)1、EVP 问题描述该问题对应矩阵工具箱中的LMI 约束的线性目标函数最小化优化问题。

一般采用mincx 求解器求解。

考虑这样一个优化问题:min ().. 0TTTrace X s t A X XA XBB X Q +++<其中:5342154067; 3; 562.78314228A B Q -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪===-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪---⎝⎭⎝⎭⎝⎭2、仿真用到的命令DECVARS = mat2dec(LMISYS,X1,X2,X3,...) :由给定的矩阵变量得到相应的决策变量值;[copt,xopt]=mincx(LMIs,c,options):用于给定的特征值问题求解,copt 返回全局最优的决策变量,xopt 返回决策变量的最优解。

线性矩阵不等式(LMI)的 MATLAB求解

线性矩阵不等式(LMI)的 MATLAB求解
打造最优秀、专业和权威的 Matlab 技术交流平台!
线性矩阵不等式(LMI)的 MATLAB 求解©
作者:dynamic
Sky 时间:2008.12.10
版权:All Rights Reserved By
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
b 一、LMI 工具箱概述 ..................................................................................................................................................6 a 1.系统描述 ...........................................................................................................................................................6
对lmi变量的操作dec2matmat2dec将求解器的输出转化为矩阵变量值通过给定的矩阵变量值返回决策向量3lmifeaspmincxdefcxgevpevallmishowlmidellmidelmvarsetmvarma4lmi结果验证与修改5lmi系统信息的提取decinfodecnbrlmiinfolminbrmntnbr以决策变量的形式表示每个输入的矩阵变量得到决策变量的个数查询现存lmi系统的信息得到问题中lmi的个数得到问题中矩阵变量的个数tlab验证lmi的可行性lmi限制下线性目标的极小值在mincx命令中第一ctx目标lmi限制下的广义特征值最小化由决策变量的给定值来验证所有的变量项返回一个已经评估的lmi的左右边从系统中删除一个lmi从问题中移除一个矩阵变量将一个矩阵变量赋予指定值ky三lmi工具箱函数详解1

Matlab LMI(线性矩阵不等式)工具箱中文版介绍及使用教程

Matlab LMI(线性矩阵不等式)工具箱中文版介绍及使用教程

⎧ 0,
struct (i,
j)
=
⎪ ⎨
n,
⎪⎩− n,
如果X (i, j) = 0 如果X (i, j) = xn 如果X (i, j) = −xn
例 2:考虑具有三个矩阵变量 X1、X 2 和 X 3 的线性矩阵不等式系统,其中 z X1 是一个 3 × 3 维的对称矩阵; z X 2 是一个 2 × 4 维的长方矩阵;
的决策变量是矩阵 X 中的独立元 x1、x2、x3 。根据对策性,矩阵变量 X 可以写成
⎡1 0⎤ ⎡0 1⎤ ⎡0 0⎤ X = x1 ⎢⎣0 0⎥⎦ + x2 ⎢⎣1 0⎥⎦ + x3 ⎢⎣0 1⎥⎦
将矩阵 A 和上式代入矩阵不等式(2),经整理,可得
⎡− 2 2⎤ ⎡ 0 − 3⎤ ⎡0 0 ⎤
XB⎤

S
⎥ ⎦
<
0
(6)
X >0
(7)
S>I
(8)
用命令 lmivar 和 lmiterm 给出线性矩阵不等式系统(6)~(8)的内部描述如下:
setlmis([])
X=lmivar(1,[6 1]) S=lmivar(1,[2 0;2 1])
% 1st LMI lmiterm([1 1 1 X],1,A,’s’) lmiterm([1 1 1 S],C’,C) lmiterm([1 1 2 X],1,B) lmiterm([1 2 2 S],-1,1)
AT X + XA < 0
(2)
也是一个线性矩阵不等式,其中的 X 是一个矩阵变量。我们以一个二阶矩阵
A
=
⎡− 1
⎢ ⎣
0
2⎤ − 2⎥⎦

Matlab工具箱解LMI-线性矩阵不等式详解PPT课件

Matlab工具箱解LMI-线性矩阵不等式详解PPT课件

• 调用格式:
• 建立不等式lmisys的注意事项:
• 不将\lambda声明为变量,建立矩阵不等式中 也不出现\lambda。
• 所有和\lambda有关的方程放在最后,其个数 有参数nlfc指定。求解器会将会面的指定个数 不等式解释成 A(x)<\lambda B(x)。
• 一定要有保证B(x)>0的不- 等式。
13
-
14
-

• Dec2mat可以把指定LMI不等式组的可行解中的指定变量转 化成矩阵格式。调用格式:
• 第一个参数是所在不等式名,第二个参数是返回的可行解 (包含很多变量),第三个参数是指定变量。
-
16
• mincx求解器
-
17
-
18
• 第一步:建立矩阵不等式,变量命名为X,不 等式组命名为LMIs。
• 第二步:将目标函数Trace(X)写成cTX形式。用 函数mat2dec建立c。
• Mat2dec的调用格式:定义与X同阶的矩阵W, mat2dec(LMIs, W)返回的是W与X对应元素乘 积的和。(延申,257页,defcx等)
• 第三步:调用函数
• 第四步:返回解的矩阵形式。
-
19
• gevp求解器:求解如下形式问题
Matlab工具箱求解LMI
-
1
利用工具箱求解LMI步骤
• 调用函数建立不等式; • 调用函数求解不等式; • 提取结果和验证结果。
-
2
调用函数建立LMI不等式
-
3
-
4
-
5
-
6
-
7
-
8
• 例如
-
9
将下面描述的线性矩阵不等式还原 • setlmis([]); • X=lmivar(2,[2,3]); • lmiterm([1 1 1 X],P2,eye(3),'s'); • lmiterm([1 1 1 0],-eye(3)); • lmiterm([1 2 1 X],P4,1); • lmiterm([1 2 2 0],-1);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、线性矩阵不等式的LMI 工具箱求解
(一)可行性问题(LMIP )
1、可行性问题描述
系统状态方程:
[]11223301000210-4014x x x x u x x ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦
&&&
在判断系统的稳定性时,根据线性定常系统的雅普诺夫稳定性判据,需要判断是否存在实对称矩阵P ,使得:
T A P+PA=Q -
成立,其中Q 为正定矩阵。

那么判断系统稳定性的问题,可以转化为下面不等式是否存在解的问题:
T A P+PA<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 求解器求解。

考虑这样一个优化问题:
min ()
.. 0
T T Trace X s t A X XA XBB X Q +++<
其中: 5342154067; 3; 562.78314228A B Q -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪===-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪---⎝⎭⎝⎭⎝⎭
2、仿真用到的命令
DECV ARS = mat2dec(LMISYS,X1,X2,X3,...) :由给定的矩阵变量得到相应的决策变量值;
[copt,xopt]=mincx(LMIs,c,options):用于给定的特征值问题求解,copt 返回全局最优的决策变量,xopt 返回决策变量的最优解。

相应的矩阵变量的最优解可以用函数dec2mat 从xopt 得到。

evlmi=evallmi(LMIs,xopt):对给定的决策变量xopt ,求取系统的值;
[lhs,rhs]=showlmi(evlmi,1):显示第一个线性矩阵不等式的左边和右边的矩阵
值。

这个不等式的成立与否可以通过eig(lhs-rhs)来检验。

如果返回的结果是负定的,那么表示xopt满足第一个线性矩阵不等式。

3、仿真结果
下面给出EVP优化问题的分析结果:
可以看到,flag为负定,说明Xopt是要求的矩阵不等式的解。

(三)广义特征值问题(GEVP)
1、问题描述
广义特征值问题一般是用来寻找一个最小的λ,使得其满足下面的矩阵不等式组:
()()
0()
()()
C x
D x B x A x B x λ<<<
假设有如下的三个系统: ()(), (1,2,3)i x t A x t i ==&
其中,, (1,2,3)i A i =分别为:
123120.8 1.5 1.40.9, , .13 1.3 2.70.72A A A ---⎡⎤⎡⎤⎡⎤===⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦⎣⎦
要求寻找一个单一的lyapunov 函数()T V x x Px =来验证给定的三个系统的稳定性,同时要求衰减率()-dV x dt
最大化。

这样的一个问题等价于如下的优化问题: 112233min s.t. I T T T P
A P PA P A P PA P
A P PA P
α
ααα<+<+<+<
2、仿真用到的命令
[lopt,xopt]=gevp(lmisys,nlfc,options,linit,xinit,target):用于求解广义特征值的线性矩阵不等式问题;
3、仿真结果
由仿真结果可以看出,得到的alpha=-0.122是给问题的最优值,因此相应的最大衰减率是0.122,最优解如仿真结果中的Popt所示。

相关文档
最新文档