关键词不能为空

当前您在: 主页 > 英语 >

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
1970-01-01 08:00
tags:

-

2021年1月23日发(作者:overrun)


LMI

Linear Matrix Inequality
,就是线性矩阵不等式。


Matlab
当中,我们可以采用图形界面的
lmiedit
命令,来调用
GUI
接口,但 是我认为
采用程序的方式更方便(也因为我不懂这个
lmiedit

GUI
)。

对于
LMI Lab


其中有三种求解器(
solver
):
feasp

mincx

gevp


每个求解器针对
不同的问题:

feasp
:解决可行性问题(
feasibility problem
),例如:
A(x)

mincx< br>:

线






的< br>限








题< br>(
Minimization of a linear objective under LMI constraints
),例如最小化
c'x
,在限制条件
A(x) < B(x)
下。

gevp
:解决广义特征值最小化问题。例如:最小化lambda
,在
0限制条件下。

要解决一个
LMI
问题,首要的就是要把线性矩阵不等式表示出来。

对于以下类型的任
意的
LMI
问题

N' * L(X1, . . . , XK) * N < M' * R(X1, . . . , XK) * M
其中
X1, . . . , XK
是结构已经事先确定的矩阵变量。
左侧和右侧的外部因子

outer factors

N

M
是给定的具有相同维数的矩阵。

左侧和右侧的内部因子

inner factors

L(.)< br>和
R(.)
是具有相同结构的对称块矩阵。
每一个
块由
X1, . . . , XK
以及它们的转置组合而成形成的。

解决
LMI
问题的步骤有两个:

1
、定义维数以及每一个矩阵的结构,也就是定义
X1, . . . , XK


2
、描述每一个
LMI
的每一项内容(
Describe the term content of each LMI


此处介绍两
个术语:

矩阵变量

Matrix Var iables


例如你要求解
X
满足
A(x)
那么
X
就叫做矩阵

变量。


Terms











Terms are either constant or variable






Constant Terms

是确定的矩阵。
可变项

Variable Terms)
是哪些含有矩阵变

量的项,
例如:
X*A, X*C'
。如果是
X*A + X*C'
,那么记得要把它当成两项来处理。

好了废话不说了,让我们
来看个例子吧(下面是一线性时滞系统)。
500)=500;

针对这个式子,
如果存在满足如下
LMI
的正矩阵
(positive-define)

Q

S1

S2
和矩阵
M

那么我们就称作

该系统 为
H-inf
渐进稳定的,并且
gammar
是上限。
500)=500;

例为:

500)=500;
我们要实现的 就利用
LMI
进行求解,验证论文结果。

首先我们要用
se tlmis([])
命令初始化一个
LMI
系统。

接下来,我们就要设定矩阵变量了。采用函数为
lmivar
语法:
X = lmivar(type,struct)
type=1:
定义块对角的对称矩阵。

每一个对角块或者是全矩阵
<
任意对称矩 阵
>
,标量
<
单位矩阵的乘积
>
,或者是零阵。

如果
X

R
个对角块,
那么后面这个
struct
就应该是一个
Rx2
阶的的矩阵,
在此矩阵中,
struct(r, 1)
表示第
r
个块的大小,
struct(r,2)
表示第
r
个块的类型
<1--
全矩阵,
0--
标量,
-1--< br>零阵)


比如一个矩阵有两个对角块,
其中一个是
2x2
的全对称矩阵,
第二个是
1x1
的一个标量,
那么该矩阵变量应该表 示为
X = lmivar(1, [2 1; 1 0])

type=2: mxn
阶的矩阵,只需要写作
struct = [m,n]
即可。

type=3:
其它类型。
针对类型
3

X
的每 一个条目

each entry of X

被定义为
0
或者是
+(-)xn





此处
xn
代表了第
n
个决策变量。

那么针对我们的例子,我们如此定义变量:

% Q is a symmetric matrix, has a block size of 2 and this block is symmetric
Q = lmivar(1, [2 1]);
% S1 a symmeric matrix, size 2 S1 = lmivar(1, [2 1]); % S2 is 1 by 1 matrix S2 = lmivar(1, [1 0])
; % Type of 2, size 1 by 2 M = lmivar(2, [1 2]);
定义完成变量之后,
我们就该用
lmiterm
来描述< br>LMI
中的每一个项了。
Matlab
的官方文
档提示我们,
如果要描述一个
LMI
只需要描述上三角或者下三角元素就可以了,
否则会描述
成另一个
LMI


When describing an LMI with several blocks, remember to specify only the terms in the bloc
ks on or below the diagonal (or equivalently, only the terms in blocks on or above the diagonal).
语法为:
lmiterm(termID,A,B,flag)
termID
是一个四维整数向量,来表示该项的位置和包含了哪些矩阵变量。
< br>termID(1)
可以为
+p
或者
-p

+p代表了这个项位于第
p
个线性矩阵不等式的左边,
-p

表了这 个项位于第
p
个线性矩阵不等式的右边。
注意:
按照惯例来讲,
左边 通常指较小的那
边。
termID(2:3):
1
、对于外部变量来说,取值为
[0,0];
2
、对于左边或者 右边的内部变量来说,如果该项在
(i,j)
位置,取值
[i,j] termID(4):
1
、对于外部变量,取值为
0 2
、对于
A*X*B
,取值
X 3
、对于
A*X'*B
,取值
-X flag(
可选,
值为
s

:
因为:
(A*X*B) + (A*X*B)T = A*X*B + B'*X'*A'
,所以采用
s
来进行简写。

比如:针对
A*X + X'*A'
我们采用笨方法:

lmiterm([1 1 1 X],A,1) lmiterm([1 1 1 -X],1,A')
那么简写就是
lmiterm([1 1 1 X],A,1,'s')
接下来我们就看该论文中的算例吧:
(1,1)
位置是
-Q+Bd*S2*Bd'+Ad*S1*Ad';
我们应该表
示为:
% pos in (1, 1)
lmiterm([1 1 1 Q], -1, 1); lmiterm([1 1 1 S2], Bd, Bd'); lmiterm([1 1 1 S1], Ad, Ad');
其它位置仿照写就行了,不懂了多看帮助文档。

把每一个项都定义以后,要记

lmis = getlmis;
[tmin, feas] = feasp(lmis)
getlmis:
是在 完成定义变量和项之后,
LMI
系统的内部表示就可以通过此命令获得

Af ter completing the description of a given LMI system with lmivar and lmiterm, its internal rep
resentation lmisys is obtained with the command
)。
feasp
是调用
feasp
求解器,看有没 有可
行解。
feas
就是可行解。

下面我把代码贴上去,那些常数矩阵都在此源程序中定义
了。
A = [2 1; 0 1]; Ad = [0.2 0.1; 0 0.1]; B1 = [0.1 0.1]'; B2 = [1 1]'; Bd = [0.1 0.1]'; C = [1, 1]; Cd = [
0.1, 0.1]; D11 = 0.1;
D12 = 1; Dd = 0.1; gammar = 1;
% Initial a LMI system setlmis([]); % Define Variables
% Q is a symmetric matrix, has a block size of 2 and this block is symmetric Q = lmivar(1, [2 1
]);
% S1 a symmeric matrix, size 2 S1 = lmivar(1, [2 1]); % S2 is 1 by 1 matrix S2 = lmivar(1, [1 0])
; % Type of 2, size 1 by 2 M = lmivar(2, [1 2]); % Q, S1, S2 > 0 lmiterm([-2 1 1 Q], 1, 1); lmiterm([-3
1 1 S1], 1, 1); lmiterm([-4 1 1 S2], 1, 1); % pos in (1, 1)
lmiterm([1 1 1 Q], -1, 1); lmiterm([1 1 1 S2], Bd, Bd'); lmiterm([1 1 1 S1], Ad, Ad'); % pos (1, 2

-


-


-


-


-


-


-


-



本文更新与1970-01-01 08:00,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/554112.html
    上一篇:没有了
    下一篇:没有了

的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文