鲁棒控制 lmi matlab程序,鲁棒控制中如何实现LMI,求助

因为刚学习LMI,所以就现成用了别人的文章想看看怎么实现。

LMI条件是:P1,P2,X12,X13 ,X23是实矩阵,P,R1,R2 ,R3 ,X11 ,X22 ,X33 ,Q1,Q2为对称正定矩阵,ei为标量大于0,i=1,2,3,4,5,6。

但是得到的结果总是tmin是大于零的,不知道哪里错了,希望大家帮我看看,谢谢

clc;

clear all;

h=0.1;

Td=0;

T=1.1608;

Bt=0.1;

A=[-1.2 0.1;-0.1 -1];

B=[-0.6 0.7;-1 -0.8];

C=[-0.2 0;0.2 -0.1];

D1=[0.1 0;0 0.1];

D2=[0.1 0;0 0.1];

D3=[0.1 0;0 0.1];

D4=[0.1 0;0 0.1];

E1=[1 0;0 1];

E2=[1 0;0 1];

E3=[1 0;0 1];

E4=[1 0;0 1];

F=[-0.1 0;0 -0.1];

G=[-0.1 0;0 -0.1];

% Initial a LMI system

setlmis([]);

% Define Variables

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

P1=lmivar(2,[2 2]);

P2=lmivar(2,[2 2]);

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

X12=lmivar(2,[2 2]);

X13=lmivar(2,[2 2]);

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

X23=lmivar(2,[2 2]);

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

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

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

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

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

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

M1=lmivar(2,[2 2]);

M2=lmivar(2,[2 2]);

M3=lmivar(2,[2 2]);

M4=lmivar(2,[2 2]);

M5=lmivar(2,[2 2]);

M6=lmivar(2,[2 2]);

M7=lmivar(2,[2 2]);

M8=lmivar(2,[2 2]);

N1=lmivar(2,[2 2]);

N2=lmivar(2,[2 2]);

N3=lmivar(2,[2 2]);

N4=lmivar(2,[2 2]);

N5=lmivar(2,[2 2]);

N6=lmivar(2,[2 2]);

N7=lmivar(2,[2 2]);

N8=lmivar(2,[2 2]);

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

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

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

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

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

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

% pos in (1,1)

lmiterm([1 1 1 P1],A',1,'S');

lmiterm([1 1 1 X11],T,1);

lmiterm([1 1 1 X13],1,1,'S');

lmiterm([1 1 1 Q1],1, 1);

lmiterm([1 1 1 Q2],1, 1);

lmiterm([1 1 1 M1],1,1,'S');

lmiterm([1 1 1 R3], 1,1);

lmiterm([1 1 1 e3],1,1);

% pos in (1,2)

lmiterm([1 1 2 P],1,1);

lmiterm([1 1 2 -P1],-1,1);

lmiterm([1 1 2 P2],A',1);

lmiterm([1 1 2 -M2],1,1);

% pos in (1,3)

lmiterm([1 1 3 -P1],1,B);

lmiterm([1 1 3 X12],T,1);

lmiterm([1 1 3 X13],-1,1);

lmiterm([1 1 3 -X23],1,1);

lmiterm([1 1 3 -M3],1,1);

lmiterm([1 1 3 N1],1,1);

% pos in (1,4)

lmiterm([1 1 4 -P1],1,C);

lmiterm([1 1 4 -M4],1,1);

% pos in (1,5)

lmiterm([1 1 5 -M5],1,1);

lmiterm([1 1 5 M1],-1,1);

% pos in (1,6)

lmiterm([1 1 6 N1],-1,1);

% pos in (1,7)

lmiterm([1 1 7 -P1],1,F);

lmiterm([1 1 7 -M6],1,1);

% pos in (1,8)

lmiterm([1 1 8 -P1],1,G);

lmiterm([1 1 8 -M7],1,1);

% pos in (1,9)

lmiterm([1 1 9 M1],h,1);

% pos in (1,10)

lmiterm([1 1 10 N1],T,1);

% pos in (1,11)

lmiterm([1 1 11 -P1],1,1);

% pos in (1,12)

lmiterm([1 1 12 -P1],1,1);

% pos in (1,13)

lmiterm([1 1 13 -P1],1,1);

% pos in (1,14)

lmiterm([1 1 14 -P1],1,1);

% pos in (2,2)

lmiterm([1 2 2 P2],-1,1,'S');

lmiterm([1 2 2 R1],h,1);

lmiterm([1 2 2 X33],T,1);

lmiterm([1 2 2 R2],1,1);

% pos in (2,3)

lmiterm([1 2 3 -P2],1,B);

lmiterm([1 2 3 N2],1,1);

% pos in (2,4)

lmiterm([1 2 4 -P2],1,C);

% pos in (2,5)

lmiterm([1 2 5 M2],-1,1);

% pos in (2,6)

lmiterm([1 2 6 N2],-1,1);

% pos in (2,7)

lmiterm([1 2 7 -P2],1,F);

% pos in (2,8)

lmiterm([1 2 8 -P2],1,G);

% pos in (2,9)

lmiterm([1 2 9 M2],h,1);

% pos in (2,10)

lmiterm([1 2 10 N2],T,1);

% pos in (2,11)

lmiterm([1 2 11 -P2],1,1);

% pos in (2,12)

lmiterm([1 2 12 -P2],1,1);

% pos in (2,13)

lmiterm([1 2 13 -P2],1,1);

% pos in (2,14)

lmiterm([1 2 14 -P2],1,1);

% pos in (3,3)

lmiterm([1 3 3 X22],T,1);

lmiterm([1 3 3 X23],-1,1,'S');

lmiterm([1 3 3 Q1],(1-Td),-1);

lmiterm([1 3 3 N3],1,1,'S');

lmiterm([1 3 3 e2],0.01,1);

lmiterm([1 3 3 e4],1,1);

% pos in (3,4)

lmiterm([1 3 4 -N4],1,1);

% pos in (3,5)

lmiterm([1 3 5 -N5],1,1);

lmiterm([1 3 5 M3],-1,1);

% pos in (3,6)

lmiterm([1 3 6 -N6],1,1);

lmiterm([1 3 6 N3],-1,1);

% pos in (3,7)

lmiterm([1 3 7 -N7],1,1);

% pos in (3,8)

lmiterm([1 3 8 -N8],1,1);

lmiterm([1 3 9 M3],h,1);

lmiterm([1 3 10 N3],T,1);

lmiterm([1 4 4 R2],-1,1);

lmiterm([1 4 5 M4],-1,1);

lmiterm([1 4 6 N4],-1,1);

lmiterm([1 4 9 M4],h,1);

lmiterm([1 4 10 N4],T,1);

lmiterm([1 5 5 R3],-1,1);

lmiterm([1 5 5 M5],-1,1,'S');

lmiterm([1 5 6 N5],-1,1);

lmiterm([1 5 7 -M6],-1,1);

lmiterm([1 5 8 -M7],-1,1);

lmiterm([1 5 9 M5],h,1);

lmiterm([1 5 10 N5],T,1);

lmiterm([1 6 6 Q2],-1,1);

lmiterm([1 6 6 N6],-1,1,'S');

lmiterm([1 6 7 -N7],-1,1);

lmiterm([1 6 8 -N8],-1,1);

lmiterm([1 6 9 M6],h,1);

lmiterm([1 6 10 N6],T,1);

lmiterm([1 7 7 e5],1,1);

lmiterm([1 7 7 e1],-1,1);

lmiterm([1 7 9 M7],h,1);

lmiterm([1 7 10 N7],T,1);

lmiterm([1 8 8 e6],1,1);

lmiterm([1 8 8 e2],-1,1);

lmiterm([1 8 9 M8],h,1);

lmiterm([1 8 10 N8],T,1);

lmiterm([1 9 9 R1],h,-1);

lmiterm([1 10 10 X33],T,-1);

lmiterm([1 11 11 e3],-1,1);

lmiterm([1 12 12 e4],-1,1);

lmiterm([1 13 13 e5],-1,1);

lmiterm([1 14 14 e6],-1,1);

lmiterm([-2 1 1 X11],1,1);

lmiterm([-2 1 2 X12],1,1);

lmiterm([-2 1 3 X13],1,1);

lmiterm([-2 2 2 X22],1,1);

lmiterm([-2 2 3 X23],1,1);

lmiterm([-2 3 3 X33],1,1);

lmiterm([-3 1 1 R1],1,1);

lmiterm([-4 1 1 R2],1,1);

lmiterm([-5 1 1 R3],1,1);

lmiterm([-6 1 1 Q1],1,1);

lmiterm([-7 1 1 Q2],1,1);

lmiterm([-8 1 1 P],1,1);

lmiterm([-9 1 1 X11],1,1);

lmiterm([-10 1 1 X22],1,1);

lmiterm([-11 1 1 X33],1,1);

lmiterm([-12 1 1 e1],1,1);

lmiterm([-13 1 1 e2],1,1);

lmiterm([-14 1 1 e3],1,1);

lmiterm([-15 1 1 e4],1,1);

lmiterm([-16 1 1 e5],1,1);

lmiterm([-17 1 1 e6],1,1);

lmis=getlmis;

matnbr(lmis);

[tmin,xfeas]=feasp(lmis);

P=dec2mat(lmis,xfeas,P)

P1=dec2mat(lmis,xfeas,P1)

P2=dec2mat(lmis,xfeas,P2)

X11=dec2mat(lmis,xfeas,X11)

X12=dec2mat(lmis,xfeas,X12)

X13=dec2mat(lmis,xfeas,X13)

X22=dec2mat(lmis,xfeas,X22)

X23=dec2mat(lmis,xfeas,X23)

X33=dec2mat(lmis,xfeas,X33)

R1=dec2mat(lmis,xfeas,R1)

R2=dec2mat(lmis,xfeas,R2)

R3=dec2mat(lmis,xfeas,R3)

Q1=dec2mat(lmis,xfeas,Q1)

Q2=dec2mat(lmis,xfeas,Q2)

M1=dec2mat(lmis,xfeas,M1)

M2=dec2mat(lmis,xfeas,M2)

M3=dec2mat(lmis,xfeas,M3)

M4=dec2mat(lmis,xfeas,M4)

M5=dec2mat(lmis,xfeas,M5)

M6=dec2mat(lmis,xfeas,M6)

M7=dec2mat(lmis,xfeas,M7)

M8=dec2mat(lmis,xfeas,M8)

N1=dec2mat(lmis,xfeas,N1)

N2=dec2mat(lmis,xfeas,N2)

N3=dec2mat(lmis,xfeas,N3)

N4=dec2mat(lmis,xfeas,N4)

N5=dec2mat(lmis,xfeas,N5)

N6=dec2mat(lmis,xfeas,N6)

N7=dec2mat(lmis,xfeas,N7)

N8=dec2mat(lmis,xfeas,N8)

e1=dec2mat(lmis,xfeas,e1)

e2=dec2mat(lmis,xfeas,e2)

e3=dec2mat(lmis,xfeas,e3)

e4=dec2mat(lmis,xfeas,e4)

e5=dec2mat(lmis,xfeas,e5)

e6=dec2mat(lmis,xfeas,e6)

tmin

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值