线性矩阵不等式的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 工具箱求解 (一)可行性问题(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工具箱的研究与使用摘要:由于内点算法可以利用计算机求解高阶矩阵不等式,使得线性矩阵不等式(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: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工具箱的应用课件

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)
  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所示。

相关文档
最新文档