matlab dec2mat,??? Error using ==> dec2mat at 31 DECVARS must be a vector of length 128

程序出现 RT的错误

程序:

clear all

clc

A=[ -0.0153  0.0481  -5.9420   0.0021   0   0;

-0.0910 -0.9569  138.3608  0.0163   0   0;

0.0002  0.0046   -1.022  -0.0005   0  -0.0029;

0      0        0     -0.2804  6.2667 -151.1435;

0      0      0.0003  -0.1821  -3.4192 0.6401;

0      0      0.0025  0.0454   -0.0304 -0.4535];

B=[ 0.0239   0.0239   0.0250   0.0250    0;

-0.1722  -0.1722  -0.1799 -0.1799    0;

-0.0873  -0.0873  -0.0076 -0.0076    0;

-0.3149  0.3149   0.0233  -0.0233  0.1205;

-0.1892  0.1892   -0.3464  0.3464  0.1237;

-0.1678  0.1678   -0.0147  0.0147  -0.0587];

C=[ 0     0     57.2958   0      0       0;

0     0       0       0   57.2468  2.3696;

0     0       0       0   -2.3696  57.2468;

-0.0155 0.3756   0       0      0       0;

0     0       0     0.3760   0       0];

S=[ 0  1  0  0  0;

0  0  0  1  0;

0  0  0  0  1];

SC=[    0         0          0         0  -57.2468   -2.3696;

0.0155   -0.3756         0         0         0         0;

0         0         0   -0.3760         0         0]; %-SC

Q1=[ 0.09  0   0;

0    1   0;

0    0  0.36];

Q2=[ 0.01  0   0   0   0;

0   0.2  0   0   0;

0    0  0.01 0   0;

0    0   0   0   0;

0    0   0   0   0];

Q=[ 0.09  0   0    0     0     0    0  0   0;

0     1   0    0     0     0    0  0   0;

0     0  0.36  0     0     0    0  0   0;

0     0   0   0.01   0     0    0  0   0;

0     0   0    0   0.2     0    0  0   0;

0     0   0    0     0   0.01   0  0   0;

0     0   0    0     0     0    0  0   0;

0     0   0    0     0     0    0  0   0;

0     0   0    0     0     0    0  0   0];

R=[ 0.49   0    0    0   0;

0    0.49  0    0   0;

0     0   0.04  0   0;

0     0    0   0.04 0;

0     0    0    0  0.04];

AA=[ 0    0   0    0         0        0         0  -57.2468   -2.3696;

0    0   0   0.0155   -0.3756    0         0         0         0;

0    0   0    0         0        0     -0.3760       0         0;

0    0   0    -0.0153  0.0481  -5.9420   0.0021      0         0;

0    0   0    -0.0910 -0.9569  138.3608  0.0163      0         0;

0    0   0    0.0002  0.0046   -1.022   -0.0005      0   -0.0029;

0    0   0      0        0        0     -0.2804  6.2667 -151.1435;

0    0   0      0        0      0.0003  -0.1821  -3.4192   0.6401;

0    0   0      0        0      0.0025  0.0454   -0.0304 -0.4535];

BB=[ 0        0        0        0        0;

0        0        0        0        0;

0        0        0        0        0;

0.0239   0.0239   0.0250   0.0250     0;

-0.1722  -0.1722  -0.1799 -0.1799      0;

-0.0873  -0.0873  -0.0076 -0.0076      0;

-0.3149  0.3149   0.0233  -0.0233  0.1205;

-0.1892  0.1892   -0.3464  0.3464  0.1237;

-0.1678  0.1678   -0.0147  0.0147  -0.0587];

GG=[ 1   0   0;

0   1   0;

0   0   1;

0   0   0;

0   0   0;

0   0   0;

0   0   0;

0   0   0;

0   0   0];

I=eye(9);

I3=eye(3);

I5=eye(5);

setlmis([]);

T=lmivar(2,[9 9]);

Z=lmivar(1,[9 0]);

W=lmivar(2,[5 9]);

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

lmiterm([1 1 1 Z],AA,1,'s');

lmiterm([1 1 1 W],BB,1,'s');

lmiterm([1 1 2 0],GG);

lmiterm([1 1 3 -W],1,R^0.5);

lmiterm([1 1 4  Z],1,Q^0.5);

lmiterm([1 2 2 gamma],-I3,1);

lmiterm([1 3 3  0],-I5);

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

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

lmiterm([-2 1 2 0],I);

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

% lmiterm([-3 1 1 Z],1,1);

LMIs=getlmis;

n=decnbr(LMIs);

c=zeros(n,1);

for j=1:n

[Tj]=defcx(LMIs,j,T);

c(j)=trace(Tj);

end

options=[1e-5,1000,100,0,0];

[copt,topt]=mincx(LMIs,c,options);

ZZ=dec2mat(LMIs,topt,Z)

W=dec2mat(LMIs,topt,W)

K=W*inv(ZZ)

gamma=dec2mat(LMIs,topt,gamma)

程序出现 RT的错误

程序:

clear all

clc

A=[ -0.0153  0.0481  -5.9420   0.0021   0   0;

-0.0910 -0.9569  138.3608  0.0163   0   0;

0.0002  0.0046   -1.022  -0.0005   0  -0.0029;

0      0        0     -0.2804  6.2667 -151.1435;

0      0      0.0003  -0.1821  -3.4192 0.6401;

0      0      0.0025  0.0454   -0.0304 -0.4535];

B=[ 0.0239   0.0239   0.0250   0.0250    0;

-0.1722  -0.1722  -0.1799 -0.1799    0;

-0.0873  -0.0873  -0.0076 -0.0076    0;

-0.3149  0.3149   0.0233  -0.0233  0.1205;

-0.1892  0.1892   -0.3464  0.3464  0.1237;

-0.1678  0.1678   -0.0147  0.0147  -0.0587];

C=[ 0     0     57.2958   0      0       0;

0     0       0       0   57.2468  2.3696;

0     0       0       0   -2.3696  57.2468;

-0.0155 0.3756   0       0      0       0;

0     0       0     0.3760   0       0];

S=[ 0  1  0  0  0;

0  0  0  1  0;

0  0  0  0  1];

SC=[    0         0          0         0  -57.2468   -2.3696;

0.0155   -0.3756         0         0         0         0;

0         0         0   -0.3760         0         0]; %-SC

Q1=[ 0.09  0   0;

0    1   0;

0    0  0.36];

Q2=[ 0.01  0   0   0   0;

0   0.2  0   0   0;

0    0  0.01 0   0;

0    0   0   0   0;

0    0   0   0   0];

Q=[ 0.09  0   0    0     0     0    0  0   0;

0     1   0    0     0     0    0  0   0;

0     0  0.36  0     0     0    0  0   0;

0     0   0   0.01   0     0    0  0   0;

0     0   0    0   0.2     0    0  0   0;

0     0   0    0     0   0.01   0  0   0;

0     0   0    0     0     0    0  0   0;

0     0   0    0     0     0    0  0   0;

0     0   0    0     0     0    0  0   0];

R=[ 0.49   0    0    0   0;

0    0.49  0    0   0;

0     0   0.04  0   0;

0     0    0   0.04 0;

0     0    0    0  0.04];

AA=[ 0    0   0    0         0        0         0  -57.2468   -2.3696;

0    0   0   0.0155   -0.3756    0         0         0         0;

0    0   0    0         0        0     -0.3760       0         0;

0    0   0    -0.0153  0.0481  -5.9420   0.0021      0         0;

0    0   0    -0.0910 -0.9569  138.3608  0.0163      0         0;

0    0   0    0.0002  0.0046   -1.022   -0.0005      0   -0.0029;

0    0   0      0        0        0     -0.2804  6.2667 -151.1435;

0    0   0      0        0      0.0003  -0.1821  -3.4192   0.6401;

0    0   0      0        0      0.0025  0.0454   -0.0304 -0.4535];

BB=[ 0        0        0        0        0;

0        0        0        0        0;

0        0        0        0        0;

0.0239   0.0239   0.0250   0.0250     0;

-0.1722  -0.1722  -0.1799 -0.1799      0;

-0.0873  -0.0873  -0.0076 -0.0076      0;

-0.3149  0.3149   0.0233  -0.0233  0.1205;

-0.1892  0.1892   -0.3464  0.3464  0.1237;

-0.1678  0.1678   -0.0147  0.0147  -0.0587];

GG=[ 1   0   0;

0   1   0;

0   0   1;

0   0   0;

0   0   0;

0   0   0;

0   0   0;

0   0   0;

0   0   0];

I=eye(9);

I3=eye(3);

I5=eye(5);

setlmis([]);

T=lmivar(2,[9 9]);

Z=lmivar(1,[9 0]);

W=lmivar(2,[5 9]);

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

lmiterm([1 1 1 Z],AA,1,'s');

lmiterm([1 1 1 W],BB,1,'s');

lmiterm([1 1 2 0],GG);

lmiterm([1 1 3 -W],1,R^0.5);

lmiterm([1 1 4  Z],1,Q^0.5);

lmiterm([1 2 2 gamma],-I3,1);

lmiterm([1 3 3  0],-I5);

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

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

lmiterm([-2 1 2 0],I);

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

% lmiterm([-3 1 1 Z],1,1);

LMIs=getlmis;

n=decnbr(LMIs);

c=zeros(n,1);

for j=1:n

[Tj]=defcx(LMIs,j,T);

c(j)=trace(Tj);

end

options=[1e-5,1000,100,0,0];

[copt,topt]=mincx(LMIs,c,options);

ZZ=dec2mat(LMIs,topt,Z)

W=dec2mat(LMIs,topt,W)

K=W*inv(ZZ)

gamma=dec2mat(LMIs,topt,gamma)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值