mincx matlab,LMI工具箱mincx求解器, 求助

我在做H∞控制,需要用LMI工具箱求出最小的γ。后来经过用mincx求解器求出了一个特别小的γ,按理说取γ为一个定值,只要比求出来的这个大都应该可以运算,但是我如果设定γ为一个不算大的常数时,tmin>0,程序如下,请各位大侠帮我看看。

(这里的X就是我要用mincx求的最小的γ)

clear;

setlmis([])

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

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

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

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

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

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

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

X1=lmivar(2,[2,2])

X2=lmivar(2,[2,2])

X3=lmivar(2,[2,1])

X4=lmivar(2,[2,1])

X5=lmivar(2,[2,2])

X6=lmivar(2,[2,2])

X7=lmivar(2,[2,2])

X8=lmivar(2,[2,1])

X9=lmivar(2,[2,1])

X10=lmivar(2,[2,2])

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

format short

A11=[0.47 0.5;-0.2 0.45];

A21=[0.17 -0.075;0.033 0.27];

B11=[0.4;0.5];

B21=[0.5;1];

C11=[0.1 0.1;0.15 0.12];

C21=[0.3 0.2;0 0.1];

M11=[0.2 0;0 0.3];

M21=[0 0.1;0.2 0];

H1=[0.4 0.2];

L1=0.2;

% 1 st lmi

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

lmiterm([1 5 1 N1],1,1)

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

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

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

lmiterm([1 7 1 S],A11,1)

lmiterm([1 7 1 U],A11,1)

lmiterm([1 7 1 X1],C11,1)

lmiterm([1 7 1 X6],C21,1)

lmiterm([1 8 1 S],M11,1)

lmiterm([1 8 1 U ],M11,1)

lmiterm([1 10 1 S],H1,1)

lmiterm([1 10 1 U],H1,1)

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

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

lmiterm([1 6 2 X7],-1,1)

lmiterm([1 7 2 S],A21,1)

lmiterm([1 7 2 U],A21,1)

lmiterm([1 7 2 X2],C11,1)

lmiterm([1 7 2 X7],C21,1)

lmiterm([1 8 2 S],M21,1)

lmiterm([1 8 2 U],M21,1)

lmiterm([1 9 2 S],H1,1)

lmiterm([1 9 2 U],H1,1)

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

lmiterm([1 5 3 X3],-1,1)

lmiterm([1 6 3 X8],-1,1)

lmiterm([1 3 7 0],B11')

lmiterm([1 7 3 X3],C11,1)

lmiterm([1 7 3 X8],C21,1)

lmiterm([1 3 10 0],L1')

lmiterm([1 4 4 0],-X^2)

lmiterm([1 5 4 X4],-1,1)

lmiterm([1 6 4 X9],-1,1)

lmiterm([1 4 7 0],B21')

lmiterm([1 7 4 X4],C11,1)

lmiterm([1 7 4 X9],C21,1)

lmiterm([1 4 9 0],L1')

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

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

lmiterm([1 5 6 -X10],-1,1)

lmiterm([1 7 5 X5],C11,1)

lmiterm([1 7 5 X10],C21,1)

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

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

lmiterm([1 7 6 X11],C21,1)

lmiterm([1 7 7 S],-1,1)

lmiterm([1 7 7 U],-1,1)

lmiterm([1 8 8 S],-1,1)

lmiterm([1 8 8 U],-1,1)

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

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

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

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

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

lmis=getlmis

c=mat2dec(lmis,eye(1),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)

options=[1e-5,0,0,0,0]

[copt,xopt]=mincx(lmis,c,options)

Xopt=dec2mat(lmis,xopt,X)

[tmin,xfeasp]=feasp(lmis)

SS=dec2mat(lmis,xfeasp,S)

UU=dec2mat(lmis,xfeasp,U)

N1=dec2mat(lmis,xfeasp,N1);

N2=dec2mat(lmis,xfeasp,N2);

N3=dec2mat(lmis,xfeasp,N3);

N4=dec2mat(lmis,xfeasp,N4);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值