美文网首页lmi
Matlab LMI工具箱使用教程算例

Matlab LMI工具箱使用教程算例

作者: Echo_Mz | 来源:发表于2020-05-29 08:48 被阅读0次

论文H∞ state feedback control for generalized continuous/discrete time-delay system 中第三部分里面的一个例子

系统状态方程:

系统状态方程 LMI矩阵 解的求解

Matlab程序,LMI工具箱:

clear;

clc;

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;

gamma=1;

setlmis([])

% definite the variables

% Q is a symmetric matrix with (2*2)

Q=lmivar(1,[2,1]);

% S1 is a symmetric matrix with (2*2)

S1=lmivar(1,[2,1]);

% S2 is a scalar

S2=lmivar(1,[1,0]);

% M is a vector with (1*2)

M=lmivar(2,[1,2]);

% Confirm every entry in each LMIs

%(1,1)

lmiterm([1,1,1,Q],-1,1)

lmiterm([1,1,1,S2],Bd,Bd')

lmiterm([1,1,1,S1],Ad,Ad')

%(1,2)

lmiterm([1,1,2,Q],A,1)

lmiterm([1,1,2,M],B2,1)

%(1,3)

lmiterm([1,1,3,0],B1)

%(1.4)

lmiterm([1,1,4,S2],Bd,Dd')

lmiterm([1,1,4,S1],Ad,Cd')

%(2,2)

lmiterm([1,2,2,Q],-1,1)

%(2,4)

lmiterm([1,2,4,Q],1,C')

lmiterm([1,2,4,-M],1,D12')

%(2,5)

lmiterm([1,2,5,-M],1,1)

%(2,6)

lmiterm([1,2,6,Q],1,1)

%(3,3)

lmiterm([1,3,3,0],(-gamma^2))

%(3,4)

lmiterm([1,3,4,0],D11')

%(4,4)

lmiterm([1,4,4,0],-1)

lmiterm([1,4,4,S1],Cd,Cd')

lmiterm([1,4,4,S2],Dd,Dd')

%(5,5)

lmiterm([1,5,5,S2],-1,1)

%(6,6)

lmiterm([1,6,6,S1],-1,1)

% Q>0

lmiterm([-2,1,1,Q],1,1)

%S1>0

lmiterm([-3,1,1,S1],1,1)

%S2>0

lmiterm([-4,1,1,S2],1,1)

% definition finish, name is lmis, it can be any name.

lmis=getlmis

[tmin,x]=feasp(lmis)

QQ=dec2mat(lmis,x,Q)

S11=dec2mat(lmis,x,S1)

S22=dec2mat(lmis,x,S2)

MM=dec2mat(lmis,x,M)

程序结果:

tmin =

  -0.1027

x =

    1.9253

  -2.2338

    9.1054

  16.0928

  -14.9665

  30.3214

  16.0495

  -0.2279

  -6.2240

QQ =

    1.9253  -2.2338

  -2.2338    9.1054

S11 =

  16.0928  -14.9665

  -14.9665  30.3214

S22 =

  16.0495

MM =

  -0.2279  -6.2240

相关文章

网友评论

    本文标题:Matlab LMI工具箱使用教程算例

    本文链接:https://www.haomeiwen.com/subject/zagtzhtx.html