主要内容

在命令行中指定LMI系统

本教程的例子显示了如何在命令行指定LMI系统利用LMI实验室工具。

指定LMI系统

考虑一个稳定的传递函数,

G ( 年代 ) = C ( 年代 - - - - - - 一个 ) - - - - - - 1 B

假设<年代pan class="emphasis">G有四个输入、4个输出和6个状态。也考虑一组输入输出扩展矩阵<年代pan class="emphasis">Dblock-diagonal结构由:

D = ( d 1 0 0 0 0 d 1 0 0 0 0 d 2 d 3 0 0 d 4 d 5 )

以下问题与时变不确定性系统的鲁棒稳定性分析[4]。发现,如果有的话,一个比例<年代pan class="emphasis">D与指定的结构,这样在频率的最大涨幅<年代pan class="inlineequation"> D G ( 年代 ) D - - - - - - 1 小于1。

这个问题有一个简单的LMI配方:存在一个适当的比例<年代pan class="emphasis">D如果以下可行性问题的解决方案。金宝搏官方网站找到两个对称矩阵<年代pan class="inlineequation"> X R 6 × 6 和<年代pan class="inlineequation"> 年代 = D T D R 4 × 4 这样:

( 一个 T X + X 一个 + C T 年代 C X B B T X - - - - - - 年代 ) < 0 ,

X > 0 ,

年代 > 1

你可以用LMI编辑指定LMI问题所描述的这些表达式,如图所示指定LMI的LMI GUI编辑器。另外,在命令行中使用定义它lmivarlmiterm,如下所示。

对于这个示例,使用以下值<年代pan class="emphasis">一个,<年代pan class="emphasis">B,<年代pan class="emphasis">C

= (-0.8715 - 0.5202 0.7474 - 1.0778 -0.9686 - 0.1005;-0.5577 -1.0843 1.8912 0.2523 1.0641 - -0.0345;-0.2615 -1.7539 -1.5452 -0.2143 0.0923 - -2.4192;0.6087 -1.0741 0.1306 -2.5575 2.3213 - 0.2388;-0.7169 0.3582 -1.4195 1.7043 -2.6530 - -1.4276;-1.2944 -0.6752 1.6983 1.6764 -0.3646 - -1.7730);B = [0 0.8998 -0.2130 0.9835;0 0 -0.3001 -0.2977;-1.0322 0 -1.0431 1.1437;0 -0.3451 -0.2701 -0.5316; -0.4189 1.0128 -0.4381 0; 0 0 -0.4087 0]; C = [ 0 2.0034 0 1.0289 0.1554 0.7135; 0.9707 0.9510 0.7059 1.4580 -1.2371 0.3174; 0 0 1.4158 0.0475 -2.1935 0.4136; -0.4383 0.6489 -1.6045 1.7463 -0.3334 -0.5771];

定义了LMI变量X年代,然后指定每个LMI的条款。

setlmis ([]) X = lmivar (1、1 [6]);S = lmivar ([2 0; 2 1]);<年代pan style="color:#228B22">% 1日LMIlmiterm ([1 1 1 X], 1,<年代pan style="color:#A020F0">“年代”);lmiterm ([1 1 1 S], C, C);lmiterm ([1 1 2 X] 1 B);lmiterm ([1 2 2 S), 1, 1);<年代pan style="color:#228B22">% 2 LMIlmiterm ([2 1 1 X], 1, 1);<年代pan style="color:#228B22">% 3日LMIlmiterm ([3 1 1 S], 1, 1);lmiterm ([3 1 1 0), 1);LMISYS = getlmis;

lmivar命令定义两个矩阵变量,<年代pan class="emphasis">X和<年代pan class="emphasis">年代。的lmiterm在每一个LMI命令描述术语。getlmis返回内部表示LMISYS的LMI问题。

如何使用这些命令的更多信息,参见:

关于更多的信息lmivar更新的内部表示LMI问题,明白了lmivar和lmiterm管理LMI形式

初始化LMI系统

一个LMI的描述系统应该开始setlmis和结束getlmis。这个函数setlmis初始化LMI系统描述。当指定一个新的系统,类型

setlmis ([])

添加到现有的LMI系统内部表示LMIS0、类型

setlmis (LMIS0)

指定LMI变量

矩阵变量声明一次lmivar,具有结构。为了促进这种结构的规范,LMI实验室提供了两个预定义的结构类型和手段来描述更一般的结构:

1型

对称的块对角结构。这对应于矩阵变量的形式

X = ( D 1 0 0 0 D 2 0 0 0 D r )

在每个对角块D<年代ub>j广场,要么是零,是吗<年代pan class="emphasis">全对称的矩阵,或<年代pan class="emphasis">标量矩阵

D<年代ub>j=<年代pan class="emphasis">d×<年代pan class="emphasis">,<年代pan class="emphasis">dR

这种类型包括普通对称矩阵(单块)和标量变量(一块的大小)。

2型

矩形结构。这对应于任意矩形矩阵没有任何特定的结构。

3型

一般结构。这第三种类型是用来描述更复杂的结构和/或矩阵变量之间的相关性。原理如下:每个条目<年代pan class="emphasis">X指定独立为0,<年代pan class="emphasis">xn<年代pan class="block">,或-<年代pan class="emphasis">xn在哪里<年代pan class="emphasis">xn代表<年代pan class="emphasis">nth决策变量的问题。如何使用类型3的详细信息,请参见结构化矩阵变量以及lmivar进入页面的引用。

指定LMI系统矩阵变量<年代pan class="emphasis">X和<年代pan class="emphasis">年代1型。实际上,两者都是对称的<年代pan class="emphasis">年代继承的block-diagonal结构<年代pan class="emphasis">D。具体地说,<年代pan class="emphasis">年代的形式

年代 = ( 年代 1 0 0 0 0 年代 1 0 0 0 0 年代 2 年代 3 0 0 年代 3 年代 4 )

初始化描述和声明这两个矩阵变量。

setlmis ([]) lmivar (1、1 [6]);<年代pan style="color:#228B22">% Xlmivar ([2 0; 2 1]);<年代pan style="color:#228B22">% S

在这两个lmivar命令,第一个输入指定的结构类型和第二个输入变量的结构包含额外的信息:

  • 一个矩阵变量<年代pan class="emphasis">X1型,第二个输入是一个矩阵有两个列和尽可能多的行斜块<年代pan class="emphasis">X。第一列中列出了对角块和第二列的大小指定他们的本性与以下约定:

    1:全对称块

    0:标量块

    1:零块

    例如,在第二个命令,(1 2 0;2)意味着<年代pan class="emphasis">年代有两个对角块,第一个是一个2×2标量块和第二个2×2块。

  • 2型的矩阵变量,第二个输入lmivar限两次入境向量列表的行和列维度变量。例如,一个三五长方形矩阵变量定义的

    lmivar (2、5 [3])

为了方便起见,lmivar还返回一个“标签”,为后续识别矩阵变量引用。例如,<年代pan class="emphasis">X和<年代pan class="emphasis">年代指定LMI系统可以定义为

X = lmivar (1、1 [6]);S = lmivar ([2 0; 2 1]);

的标识符<年代pan class="emphasis">X和<年代pan class="emphasis">年代是整数对应的排名<年代pan class="emphasis">X和<年代pan class="emphasis">年代矩阵变量的列表中(在声明的顺序)。在这里他们的价值观X = 1S = 2。注意,这些标识符仍然指向<年代pan class="emphasis">X和<年代pan class="emphasis">年代删除或实例化后的矩阵变量。最后,lmivar也可以返回决策变量分配到目前为止的总数以及entry-wise矩阵变量的依赖这些决策变量(看到的吗lmivar条目的细节参考页)。

指定个人lmi)

在声明的矩阵变量lmivar,我们只剩下指定每个LMI的一项内容。回想一下,LMI条件分为三类:

  • 的<年代pan class="emphasis">常数项,即,fixed matrices like<年代pan class="emphasis">在左边的LMI<年代pan class="emphasis">年代><年代pan class="emphasis">

  • 的<年代pan class="emphasis">变量条件,即,terms involving a matrix variable. For instance,<年代pan class="emphasis">一个TX和<年代pan class="emphasis">CTSC表达式:

    ( 一个 T X + X 一个 + C T 年代 C X B B T X 年代 ) < 0

    变量形式的术语<年代pan class="emphasis">PXQ在哪里<年代pan class="emphasis">X是一个变量,<年代pan class="emphasis">P, Q给出了矩阵叫做左右<年代pan class="emphasis">系数,分别。

  • 的<年代pan class="emphasis">外部因素

在描述术语LMI的内容,仅指定条款在块或以上对角线。内部因素是对称的,这是足以指定整个LMI。<年代pan class="emphasis">指定所有块结果重复的非对角的条款,因此在不同的LMI的创建。或者,您可以描述下面的块或对角线。

LMI条件指定一次lmiterm。例如,LMI

( 一个 T X + X 一个 + C T 年代 C X B B T X 年代 ) < 0

是所描述的

lmiterm ([1 1 1 1], 1,<年代pan style="color:#A020F0">“年代”);lmiterm ([1 1 1 2], C, C);lmiterm ([1 1 2 1] 1 B);lmiterm ([1 2 2 2], 1, 1);

这些命令先后声明条款<年代pan class="emphasis">一个TX+<年代pan class="emphasis">XA,<年代pan class="emphasis">CTSC,<年代pan class="emphasis">XB,<年代pan class="emphasis">年代。在每个命令,第一个参数是一个四个入口向量清单项特征如下:

  • 第一项表示LMI术语所属。的值意思是“的左侧<年代pan class="emphasis">和−th LMI。意思是“右边的<年代pan class="emphasis">th LMI。”

  • 第二个和第三个条目识别这个词所属块。例如,向量(1 1 2 1)表明这个词是连接到(1、2)。

  • 最后一个条目表明矩阵变量是参与这个词。这个条目0为常数项,k条款涉及的<年代pan class="emphasis">kth矩阵变量<年代pan class="emphasis">Xk,−k对条款涉及<年代pan class="inlineequation"> X k T (这里<年代pan class="emphasis">X和<年代pan class="emphasis">年代是第一和第二变量声明的顺序)。

最后,第二和第三个参数lmiterm包含数值数据(值的常数项,外部因素,或矩阵系数<年代pan class="emphasis">P和<年代pan class="emphasis">对变量的条件PXPXT)。这些参数必须是指现有的MATLAB<年代up>®变量和被<年代pan class="emphasis">实值。看到复数的lmi)规范的lmi)与复值系数。

提供一些速记来简化术语规范。首先,默认为零。其次,在<年代pan class="emphasis">对角块额外的参数“年代”允许您指定共轭表达式<年代pan class="emphasis">ax = b+<年代pan class="emphasis">BTXT一个T与一个<年代pan class="emphasis">lmiterm命令。例如,第一个命令指定<年代pan class="emphasis">一个TX+XA“均衡”<年代pan class="emphasis">XA。最后,标量值允许缩写<年代pan class="emphasis">标量矩阵,即,米atrices of the form α<年代pan class="emphasis">与α标量。因此,一个常数项的形式α<年代pan class="emphasis">可以指定为“标量”α。这也适用于系数<年代pan class="emphasis">P和<年代pan class="emphasis">变量的条件。标量矩阵的维度从上下文推断,默认设置为1。例如,第三LMI<年代pan class="emphasis">年代><年代pan class="emphasis">指定的矩阵变量结构是所描述的

lmiterm ([3 1 1 2], 1, 1);<年代pan style="color:#228B22">% 1 * * 1 =年代lmiterm ([3 1 1 0), 1);<年代pan style="color:#228B22">% 1 *我=

回想一下,按照惯例年代被认为是右边的不平等,这证明3的第一个命令。

最后,来改善可读性通常方便附加一个标识符(标签)每个LMI和矩阵变量。返回的变量标识符lmivar和设定的LMI标识符功能newlmi。可以使用这些标识符lmiterm命令是指给定LMI或矩阵变量。LMI系统指定LMI系统,这样子:

setlmis ([]) X = lmivar (1、1 [6]);S = lmivar ([2 0; 2 1]);BRL = newlmi;lmiterm ((BRL 1 1 X) 1,<年代pan style="color:#A020F0">“年代”);lmiterm ([BRL 1 1 S], C, C);lmiterm ([BRL 1 2 X], 1, B);lmiterm (BRL 2 2 S, 1, 1);Xpos = newlmi;lmiterm ([-Xpos 1 1 X], 1, 1);Slmi = newlmi;lmiterm (-Slmi 1 1, 1, 1);lmiterm (Slmi 1 1 0, 1);

当LMI系统完全指定,得到问题的内部表示。

LMISYS = getlmis;

这返回的内部表示LMISYS该LMI的系统。这个MATLAB描述问题的可以转发给其他LMI-Lab功能进行后续处理。命令getlmis必须使用<年代pan class="emphasis">只有一次之后,宣布<年代pan class="emphasis">所有矩阵变量和LMI条件。

这里的标识符X年代指向的变量<年代pan class="emphasis">X和<年代pan class="emphasis">年代虽然标签,Xpos,Slmi第一,第二,第三LMI,分别。请注意,- - - - - -Xpos指第二LMI的右边。同样,,X表明换位的变量<年代pan class="emphasis">X

另请参阅

|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

相关的例子

更多关于