<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901</link>
    <title>MATLAB Central Newsreader - LMI term dimensions incompatible</title>
    <description>Feed for thread: LMI term dimensions incompatible</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Thu, 08 May 2008 04:19:05 -0400</pubDate>
      <title>LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#430945</link>
      <author>Michael Zhang</author>
      <description>Is anyone can help me? I can figure out what happened to my &lt;br&gt;
programm.&lt;br&gt;
&lt;br&gt;
I need to solve a inequality:&lt;br&gt;
&lt;br&gt;
| -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
|      Q*A'+M'*B2'         -Q       0&lt;br&gt;
|          B1'              0       -gammar^2*I&lt;br&gt;
|   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
|          0                M       0&lt;br&gt;
|          0                Q       0&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;nbsp;&amp;nbsp;-I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0             -S2      0  |&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0              0      -S1 | &lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&lt;br&gt;
Below is programm:&lt;br&gt;
===================================================&lt;br&gt;
A = [2 1; 0 1];&lt;br&gt;
Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
B1 = [0.1 0.1]';&lt;br&gt;
B2 = [1 1]';&lt;br&gt;
Bd = [0.1 0.1]';&lt;br&gt;
&lt;br&gt;
C = [1, 1];&lt;br&gt;
Cd = [0.1, 0.1];&lt;br&gt;
&lt;br&gt;
D11 = 0.1;&lt;br&gt;
D12 = 1;&lt;br&gt;
Dd = 0.1;&lt;br&gt;
&lt;br&gt;
gammar = 1;&lt;br&gt;
&lt;br&gt;
% Initial a LMI system&lt;br&gt;
setlmis([]);&lt;br&gt;
&lt;br&gt;
% Define Variables&lt;br&gt;
&lt;br&gt;
% Q is a symmetric matrix, has a block size of 2 and this &lt;br&gt;
block is symmetric &lt;br&gt;
Q = lmivar(1, [2 1]);&lt;br&gt;
&lt;br&gt;
% S1 a symmeric matrix, size 2 by 2&lt;br&gt;
S1 = lmivar(1, [2 1]);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
% S2 is 1 by 1 matrix&lt;br&gt;
S2 = lmivar(1, [1 0]);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
% Type of 2, size 1 by 2 &lt;br&gt;
M = lmivar(2, [1 2]);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
%I use upper triangular to represent the LMI&lt;br&gt;
&lt;br&gt;
% pos in (1, 1)&lt;br&gt;
lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&lt;br&gt;
% pos (1, 2)&lt;br&gt;
lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&lt;br&gt;
% pos(1, 3)&lt;br&gt;
lmiterm([1 1 3 0], B1);&lt;br&gt;
&lt;br&gt;
% pos(1, 4)&lt;br&gt;
lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
% pos(2, 2)&lt;br&gt;
lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&lt;br&gt;
% pos(2, 4)&lt;br&gt;
lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&lt;br&gt;
lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&lt;br&gt;
% pos(2, 5)&lt;br&gt;
lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&lt;br&gt;
% pos(2, 6)&lt;br&gt;
lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&lt;br&gt;
% pos(3, 3)&lt;br&gt;
lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&lt;br&gt;
% pos(3, 4)&lt;br&gt;
lmiterm([1 3 4 0], D11');&lt;br&gt;
&lt;br&gt;
% pos(4, 4)&lt;br&gt;
lmiterm([1 4 4 0], -1);&lt;br&gt;
lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&lt;br&gt;
% pos(5, 5)&lt;br&gt;
lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
% pos(6, 6)&lt;br&gt;
lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&lt;br&gt;
lmis = getlmis;&lt;br&gt;
&lt;br&gt;
[tmin, feas] = feasp(lmis)&lt;br&gt;
&lt;br&gt;
--------------------------------&lt;br&gt;
When I run it, I get error message:&lt;br&gt;
&lt;br&gt;
??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
lhs of LMI #1, block (4,1): term dimensions incompatible &lt;br&gt;
with&lt;br&gt;
other terms in same row&lt;br&gt;
&lt;br&gt;
Error in ==&amp;gt; paperor at 56&lt;br&gt;
lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&lt;br&gt;
I have checked many times and can't figure out why it is &lt;br&gt;
wrong, can anybody point it to me?</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 08:49:04 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#430981</link>
      <author>Johan L&amp;#xF6;fberg</author>
      <description>Well, I won't directly answer your question, but when I see&lt;br&gt;
this, I can see that it must be annoying. My advice to you&lt;br&gt;
is to use more modern tools to setup and solve the SDP.&lt;br&gt;
&lt;br&gt;
Using YALMIP and the solver SeDuMi&lt;br&gt;
&lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?n=Solvers.SEDUMI&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?n=Solvers.SEDUMI&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
you would code your problem as below. &lt;br&gt;
&lt;br&gt;
I think this approach would save you a lot of agony during&lt;br&gt;
the modelling.&lt;br&gt;
&lt;br&gt;
/johan&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Q = sdpvar(n,n);&lt;br&gt;
S1 = sdpvar(n,n);&lt;br&gt;
S2 = sdpvar(n,n);&lt;br&gt;
&lt;br&gt;
gammasquared = sdpvar(1,1);&lt;br&gt;
&lt;br&gt;
A = randn(n,n);&lt;br&gt;
Ad = randn(n,n);&lt;br&gt;
Bd = randn(n,n);&lt;br&gt;
B1 = randn(n,n);&lt;br&gt;
B2 = randn(n,n);&lt;br&gt;
M = randn(n,n);&lt;br&gt;
Cd = randn(n,n);&lt;br&gt;
C = randn(n,n);&lt;br&gt;
D11 = randn(n,n);&lt;br&gt;
D12 = randn(n,n);&lt;br&gt;
Dd = randn(n,n);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
% We could do something like this, but then we would have to&lt;br&gt;
find out the&lt;br&gt;
% dimensions of the zero blocks, and we are too lazy to do that &lt;br&gt;
%B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         B1          &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
%  Q*A'+M'*B2'                -Q            0              &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Q*C'+M'*D12'         M'      Q;&lt;br&gt;
%  B1'                         0          -gammasquared*I  &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;D11'                0       0;&lt;br&gt;
%  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         D11            &lt;br&gt;
&amp;nbsp;&amp;nbsp;-I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
%  0                      M                 0              &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0                  -S2      0;&lt;br&gt;
%  0                      Q                 0              &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0                   0      -S1 ];&lt;br&gt;
&lt;br&gt;
% Instead, we use the blkvar shortcut. It automatically&lt;br&gt;
fills in the blanks and symmetrizes for you&lt;br&gt;
B = blkvar;&lt;br&gt;
B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
B(1,2) =  A*Q+B2*M;&lt;br&gt;
B(1,3) = B1;&lt;br&gt;
B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
B(2,2) = -Q;&lt;br&gt;
B(2,4) = Q*C'+M'*D12';&lt;br&gt;
B(2,5) = M';&lt;br&gt;
B(2,6) = Q;&lt;br&gt;
B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
B(3,4) = D11';&lt;br&gt;
B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
B(5,5) = -S2;&lt;br&gt;
B(6,6) = -S1;&lt;br&gt;
&lt;br&gt;
% set up all constraints&lt;br&gt;
Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
Objective = gammasquared;&lt;br&gt;
% Minimize gamma^2&lt;br&gt;
solvesdp(Constraints,Objective)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Is anyone can help me? I can figure out what happened to my &lt;br&gt;
&amp;gt; programm.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt;   &lt;br&gt;
&amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Below is programm:&lt;br&gt;
&amp;gt; ===================================================&lt;br&gt;
&amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Q is a symmetric matrix, has a block size of 2 and this &lt;br&gt;
&amp;gt; block is symmetric &lt;br&gt;
&amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; --------------------------------&lt;br&gt;
&amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; lhs of LMI #1, block (4,1): term dimensions incompatible &lt;br&gt;
&amp;gt; with&lt;br&gt;
&amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have checked many times and can't figure out why it is &lt;br&gt;
&amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; </description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 11:15:07 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431012</link>
      <author>Michael Zhang</author>
      <description>&quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Well, I won't directly answer your question, but when I &lt;br&gt;
see&lt;br&gt;
&amp;gt; this, I can see that it must be annoying. My advice to you&lt;br&gt;
&amp;gt; is to use more modern tools to setup and solve the SDP.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I think this approach would save you a lot of agony during&lt;br&gt;
&amp;gt; the modelling.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; /johan&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % We could do something like this, but then we would have &lt;br&gt;
to&lt;br&gt;
&amp;gt; find out the&lt;br&gt;
&amp;gt; % dimensions of the zero blocks, and we are too lazy to &lt;br&gt;
do that &lt;br&gt;
&amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         &lt;br&gt;
B1          &lt;br&gt;
&amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
0              &lt;br&gt;
&amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; %  B1'                         0          -&lt;br&gt;
gammasquared*I  &lt;br&gt;
&amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
D11            &lt;br&gt;
&amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; %  0                      M                 &lt;br&gt;
0              &lt;br&gt;
&amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; %  0                      Q                 &lt;br&gt;
0              &lt;br&gt;
&amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Instead, we use the blkvar shortcut. It automatically&lt;br&gt;
&amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; Is anyone can help me? I can figure out what happened &lt;br&gt;
to my &lt;br&gt;
&amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; ===================================================&lt;br&gt;
&amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size of 2 and &lt;br&gt;
this &lt;br&gt;
&amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
incompatible &lt;br&gt;
&amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I have checked many times and can't figure out why it &lt;br&gt;
is &lt;br&gt;
&amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
Dear Johan:&lt;br&gt;
&lt;br&gt;
Thank you very much. But I still have some doubts about &lt;br&gt;
this.&lt;br&gt;
&lt;br&gt;
You recommend me to use YALMIP, but I think the program you &lt;br&gt;
write for me is not apply to me.&lt;br&gt;
&lt;br&gt;
1.The original problem is for a discrete time linear delay &lt;br&gt;
system which I have't write it here, If there exists &lt;br&gt;
positive-define matrices Q, S1, S2 and a matrix M satisfied &lt;br&gt;
that LMI, then we call it H-inf quadratically stable with H-&lt;br&gt;
inf norm bound gammar. So I mean gammar cannot be a random &lt;br&gt;
variable. So you write the program that object is to &lt;br&gt;
minimize gamma^2, I think it is not suitable.&lt;br&gt;
&lt;br&gt;
2.In my problem, matrices like A, Ad, Dd, they are all &lt;br&gt;
specified, you use randn(n,n) to generate them. I replace &lt;br&gt;
them with specified ones.</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 12:20:19 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431025</link>
      <author>Johan L&amp;#xF6;fberg</author>
      <description>&quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;lt;fvunbr$1tb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
&amp;gt; message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; Well, I won't directly answer your question, but when I &lt;br&gt;
&amp;gt; see&lt;br&gt;
&amp;gt; &amp;gt; this, I can see that it must be annoying. My advice to you&lt;br&gt;
&amp;gt; &amp;gt; is to use more modern tools to setup and solve the SDP.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
&amp;gt; n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I think this approach would save you a lot of agony during&lt;br&gt;
&amp;gt; &amp;gt; the modelling.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; /johan&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % We could do something like this, but then we would have &lt;br&gt;
&amp;gt; to&lt;br&gt;
&amp;gt; &amp;gt; find out the&lt;br&gt;
&amp;gt; &amp;gt; % dimensions of the zero blocks, and we are too lazy to &lt;br&gt;
&amp;gt; do that &lt;br&gt;
&amp;gt; &amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         &lt;br&gt;
&amp;gt; B1          &lt;br&gt;
&amp;gt; &amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; &amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
&amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; &amp;gt; %  B1'                         0          -&lt;br&gt;
&amp;gt; gammasquared*I  &lt;br&gt;
&amp;gt; &amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; &amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
&amp;gt; D11            &lt;br&gt;
&amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; &amp;gt; %  0                      M                 &lt;br&gt;
&amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; &amp;gt; %  0                      Q                 &lt;br&gt;
&amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % Instead, we use the blkvar shortcut. It automatically&lt;br&gt;
&amp;gt; &amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; &amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; &amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Is anyone can help me? I can figure out what happened &lt;br&gt;
&amp;gt; to my &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ===================================================&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size of 2 and &lt;br&gt;
&amp;gt; this &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
&amp;gt; incompatible &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I have checked many times and can't figure out why it &lt;br&gt;
&amp;gt; is &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Dear Johan:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thank you very much. But I still have some doubts about &lt;br&gt;
&amp;gt; this.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; You recommend me to use YALMIP, but I think the program you &lt;br&gt;
&amp;gt; write for me is not apply to me.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 1.The original problem is for a discrete time linear delay &lt;br&gt;
&amp;gt; system which I have't write it here, If there exists &lt;br&gt;
&amp;gt; positive-define matrices Q, S1, S2 and a matrix M satisfied &lt;br&gt;
&amp;gt; that LMI, then we call it H-inf quadratically stable with H-&lt;br&gt;
&amp;gt; inf norm bound gammar. So I mean gammar cannot be a random &lt;br&gt;
&amp;gt; variable. So you write the program that object is to &lt;br&gt;
&amp;gt; minimize gamma^2, I think it is not suitable.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 2.In my problem, matrices like A, Ad, Dd, they are all &lt;br&gt;
&amp;gt; specified, you use randn(n,n) to generate them. I replace &lt;br&gt;
&amp;gt; them with specified ones.&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I though gammar was a decision variable that you wanted to&lt;br&gt;
optimize. If it is given, well then you just use that&lt;br&gt;
instead and remove the objective from the call to solvesdp&lt;br&gt;
and solve the feasibility problem instead&lt;br&gt;
&lt;br&gt;
You can of course use your own data, I only defined random&lt;br&gt;
matrices to get an example that was working.&lt;br&gt;
&lt;br&gt;
The problem can be solved with YALMIP and SeDuMi without a&lt;br&gt;
doubt, it is a trivial SDP problem.</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 12:36:02 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431027</link>
      <author>Johan L&amp;#xF6;fberg</author>
      <description>&quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
message &amp;lt;fvur63$oog$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;lt;fvunbr$1tb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
&amp;gt; &amp;gt; message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Well, I won't directly answer your question, but when I &lt;br&gt;
&amp;gt; &amp;gt; see&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; this, I can see that it must be annoying. My advice to you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; is to use more modern tools to setup and solve the SDP.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I think this approach would save you a lot of agony during&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; the modelling.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; /johan&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % We could do something like this, but then we would have &lt;br&gt;
&amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; find out the&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % dimensions of the zero blocks, and we are too lazy to &lt;br&gt;
&amp;gt; &amp;gt; do that &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         &lt;br&gt;
&amp;gt; &amp;gt; B1          &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
&amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %  B1'                         0          -&lt;br&gt;
&amp;gt; &amp;gt; gammasquared*I  &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
&amp;gt; &amp;gt; D11            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %  0                      M                 &lt;br&gt;
&amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; %  0                      Q                 &lt;br&gt;
&amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Instead, we use the blkvar shortcut. It automatically&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Is anyone can help me? I can figure out what happened &lt;br&gt;
&amp;gt; &amp;gt; to my &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; ===================================================&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size of 2 and &lt;br&gt;
&amp;gt; &amp;gt; this &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
&amp;gt; &amp;gt; incompatible &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I have checked many times and can't figure out why it &lt;br&gt;
&amp;gt; &amp;gt; is &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Dear Johan:&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Thank you very much. But I still have some doubts about &lt;br&gt;
&amp;gt; &amp;gt; this.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; You recommend me to use YALMIP, but I think the program you &lt;br&gt;
&amp;gt; &amp;gt; write for me is not apply to me.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; 1.The original problem is for a discrete time linear delay &lt;br&gt;
&amp;gt; &amp;gt; system which I have't write it here, If there exists &lt;br&gt;
&amp;gt; &amp;gt; positive-define matrices Q, S1, S2 and a matrix M satisfied &lt;br&gt;
&amp;gt; &amp;gt; that LMI, then we call it H-inf quadratically stable with H-&lt;br&gt;
&amp;gt; &amp;gt; inf norm bound gammar. So I mean gammar cannot be a random &lt;br&gt;
&amp;gt; &amp;gt; variable. So you write the program that object is to &lt;br&gt;
&amp;gt; &amp;gt; minimize gamma^2, I think it is not suitable.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; 2.In my problem, matrices like A, Ad, Dd, they are all &lt;br&gt;
&amp;gt; &amp;gt; specified, you use randn(n,n) to generate them. I replace &lt;br&gt;
&amp;gt; &amp;gt; them with specified ones.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I though gammar was a decision variable that you wanted to&lt;br&gt;
&amp;gt; optimize. If it is given, well then you just use that&lt;br&gt;
&amp;gt; instead and remove the objective from the call to solvesdp&lt;br&gt;
&amp;gt; and solve the feasibility problem instead&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; You can of course use your own data, I only defined random&lt;br&gt;
&amp;gt; matrices to get an example that was working.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The problem can be solved with YALMIP and SeDuMi without a&lt;br&gt;
&amp;gt; doubt, it is a trivial SDP problem.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
..and I noticed you optimized over M too, so you should use&lt;br&gt;
&lt;br&gt;
M = sdpvar(somesize,someothersize,'full')</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 12:45:05 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431030</link>
      <author>Johan L&amp;#xF6;fberg</author>
      <description>&quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
message &amp;lt;fvus3i$kci$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
&amp;gt; message &amp;lt;fvur63$oog$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; &amp;lt;fvunbr$1tb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Well, I won't directly answer your question, but when I &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; see&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; this, I can see that it must be annoying. My advice&lt;br&gt;
to you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; is to use more modern tools to setup and solve the SDP.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I think this approach would save you a lot of agony&lt;br&gt;
during&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; the modelling.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; /johan&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % We could do something like this, but then we would&lt;br&gt;
have &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; find out the&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % dimensions of the zero blocks, and we are too lazy to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; do that &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B1          &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %  B1'                         0          -&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; gammasquared*I  &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D11            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      M                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      Q                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % Instead, we use the blkvar shortcut. It automatically&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Is anyone can help me? I can figure out what happened &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; to my &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; ===================================================&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size of 2 and &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; this &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; incompatible &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I have checked many times and can't figure out why it &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; is &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Dear Johan:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Thank you very much. But I still have some doubts about &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; this.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; You recommend me to use YALMIP, but I think the&lt;br&gt;
program you &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; write for me is not apply to me.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; 1.The original problem is for a discrete time linear&lt;br&gt;
delay &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; system which I have't write it here, If there exists &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; positive-define matrices Q, S1, S2 and a matrix M&lt;br&gt;
satisfied &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; that LMI, then we call it H-inf quadratically stable&lt;br&gt;
with H-&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; inf norm bound gammar. So I mean gammar cannot be a&lt;br&gt;
random &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; variable. So you write the program that object is to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; minimize gamma^2, I think it is not suitable.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; 2.In my problem, matrices like A, Ad, Dd, they are all &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; specified, you use randn(n,n) to generate them. I replace &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; them with specified ones.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I though gammar was a decision variable that you wanted to&lt;br&gt;
&amp;gt; &amp;gt; optimize. If it is given, well then you just use that&lt;br&gt;
&amp;gt; &amp;gt; instead and remove the objective from the call to solvesdp&lt;br&gt;
&amp;gt; &amp;gt; and solve the feasibility problem instead&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; You can of course use your own data, I only defined random&lt;br&gt;
&amp;gt; &amp;gt; matrices to get an example that was working.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; The problem can be solved with YALMIP and SeDuMi without a&lt;br&gt;
&amp;gt; &amp;gt; doubt, it is a trivial SDP problem.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ..and I noticed you optimized over M too, so you should use&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; M = sdpvar(somesize,someothersize,'full')&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
To summarize&lt;br&gt;
&lt;br&gt;
A = [2 1; 0 1];&lt;br&gt;
Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
B1 = [0.1 0.1]';&lt;br&gt;
B2 = [1 1]';&lt;br&gt;
Bd = [0.1 0.1]';&lt;br&gt;
&lt;br&gt;
C = [1, 1];&lt;br&gt;
Cd = [0.1, 0.1];&lt;br&gt;
&lt;br&gt;
D11 = 0.1;&lt;br&gt;
D12 = 1;&lt;br&gt;
Dd = 0.1;&lt;br&gt;
&lt;br&gt;
gammar = 1;&lt;br&gt;
&lt;br&gt;
Q = sdpvar(2,2);&lt;br&gt;
S1 = sdpvar(2,2);&lt;br&gt;
S2 = sdpvar(1);&lt;br&gt;
% Full by definition, but just to rmember it if &lt;br&gt;
% we change dimensions later&lt;br&gt;
M = sdpvar(1,2,'full');&lt;br&gt;
&lt;br&gt;
B = blkvar;&lt;br&gt;
B(1,1) = -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
B(1,2) = A*Q+B2*M;&lt;br&gt;
B(1,3) = B1;&lt;br&gt;
B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
B(2,2) = -Q;&lt;br&gt;
B(2,4) = Q*C'+M'*D12';&lt;br&gt;
B(2,5) = M';&lt;br&gt;
B(2,6) = Q;&lt;br&gt;
B(3,3) = -gammar^2*eye(size(B1,2));&lt;br&gt;
B(3,4) = D11';&lt;br&gt;
B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
B(5,5) = -S2;&lt;br&gt;
B(6,6) = -S1;&lt;br&gt;
&lt;br&gt;
% set up all constraints&lt;br&gt;
Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
solvesdp(Constraints)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yalmiptime: 0.3430&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;solvertime: 1.3440&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;info: 'No problems detected (SeDuMi-1.1)'&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;problem: 0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dimacs: [1.4589e-015 0 0 0 7.3848e-016 3.9007e-015]&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; double(Q)&lt;br&gt;
&lt;br&gt;
ans =&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2425   -0.2091&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;-0.2091    1.0081&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; double(S1)&lt;br&gt;
&lt;br&gt;
ans =&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.3613   -0.4978&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;-0.4978    2.3019&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; double(S2)&lt;br&gt;
&lt;br&gt;
ans =&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.0517&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; double(M)&lt;br&gt;
&lt;br&gt;
ans =&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;-0.1367   -0.6933</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 14:28:04 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431058</link>
      <author>Michael Zhang</author>
      <description>&quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
message &amp;lt;fvuskh$mq9$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
&amp;gt; message &amp;lt;fvus3i$kci$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
&amp;gt; &amp;gt; message &amp;lt;fvur63$oog$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;lt;fvunbr$1tb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote &lt;br&gt;
in &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Well, I won't directly answer your question, but &lt;br&gt;
when I &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; see&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this, I can see that it must be annoying. My &lt;br&gt;
advice&lt;br&gt;
&amp;gt; to you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; is to use more modern tools to setup and solve &lt;br&gt;
the SDP.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I think this approach would save you a lot of &lt;br&gt;
agony&lt;br&gt;
&amp;gt; during&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the modelling.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; /johan&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % We could do something like this, but then we &lt;br&gt;
would&lt;br&gt;
&amp;gt; have &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; find out the&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % dimensions of the zero blocks, and we are too &lt;br&gt;
lazy to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; do that &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; B1          &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  B1'                         0          -&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared*I  &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; D11            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      M                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      Q                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Instead, we use the blkvar shortcut. It &lt;br&gt;
automatically&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in &lt;br&gt;
message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Is anyone can help me? I can figure out what &lt;br&gt;
happened &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; to my &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
===================================================&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size of &lt;br&gt;
2 and &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; this &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; incompatible &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I have checked many times and can't figure out &lt;br&gt;
why it &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; is &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Dear Johan:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; Thank you very much. But I still have some doubts &lt;br&gt;
about &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; this.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; You recommend me to use YALMIP, but I think the&lt;br&gt;
&amp;gt; program you &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; write for me is not apply to me.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; 1.The original problem is for a discrete time linear&lt;br&gt;
&amp;gt; delay &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; system which I have't write it here, If there &lt;br&gt;
exists &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; positive-define matrices Q, S1, S2 and a matrix M&lt;br&gt;
&amp;gt; satisfied &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; that LMI, then we call it H-inf quadratically stable&lt;br&gt;
&amp;gt; with H-&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; inf norm bound gammar. So I mean gammar cannot be a&lt;br&gt;
&amp;gt; random &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; variable. So you write the program that object is &lt;br&gt;
to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; minimize gamma^2, I think it is not suitable.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; 2.In my problem, matrices like A, Ad, Dd, they are &lt;br&gt;
all &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; specified, you use randn(n,n) to generate them. I &lt;br&gt;
replace &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; them with specified ones.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; I though gammar was a decision variable that you &lt;br&gt;
wanted to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; optimize. If it is given, well then you just use that&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; instead and remove the objective from the call to &lt;br&gt;
solvesdp&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; and solve the feasibility problem instead&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; You can of course use your own data, I only defined &lt;br&gt;
random&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; matrices to get an example that was working.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; The problem can be solved with YALMIP and SeDuMi &lt;br&gt;
without a&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; doubt, it is a trivial SDP problem.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ..and I noticed you optimized over M too, so you should &lt;br&gt;
use&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; M = sdpvar(somesize,someothersize,'full')&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; To summarize&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Q = sdpvar(2,2);&lt;br&gt;
&amp;gt; S1 = sdpvar(2,2);&lt;br&gt;
&amp;gt; S2 = sdpvar(1);&lt;br&gt;
&amp;gt; % Full by definition, but just to rmember it if &lt;br&gt;
&amp;gt; % we change dimensions later&lt;br&gt;
&amp;gt; M = sdpvar(1,2,'full');&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; B(1,1) = -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; B(1,2) = A*Q+B2*M;&lt;br&gt;
&amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; B(3,3) = -gammar^2*eye(size(B1,2));&lt;br&gt;
&amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; solvesdp(Constraints)&lt;br&gt;
&amp;gt;     yalmiptime: 0.3430&lt;br&gt;
&amp;gt;     solvertime: 1.3440&lt;br&gt;
&amp;gt;           info: 'No problems detected (SeDuMi-1.1)'&lt;br&gt;
&amp;gt;        problem: 0&lt;br&gt;
&amp;gt;         dimacs: [1.4589e-015 0 0 0 7.3848e-016 3.9007e-&lt;br&gt;
015]&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; double(Q)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;     0.2425   -0.2091&lt;br&gt;
&amp;gt;    -0.2091    1.0081&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; double(S1)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;     1.3613   -0.4978&lt;br&gt;
&amp;gt;    -0.4978    2.3019&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; double(S2)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;     2.0517&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; double(M)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt;    -0.1367   -0.6933&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
This LMI example is what I read from a paper, but the &lt;br&gt;
author's result is different form yours. And he gave &lt;br&gt;
proofs, I think the author only use matlab and we use other &lt;br&gt;
toolboxes. I doubt if there really exists result difference &lt;br&gt;
because of toolboxes?&lt;br&gt;
&lt;br&gt;
The paper's address is &lt;a href=&quot;http://www.sciencedirect.com/science?&quot;&gt;http://www.sciencedirect.com/science?&lt;/a&gt;&lt;br&gt;
_ob=ArticleURL&amp;_udi=B6V21-3WWV8W6-B&amp;_user=10&amp;_coverDate=08%&lt;br&gt;
2F31%&lt;br&gt;
2F1999&amp;_alid=736573613&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_cdi=5&lt;br&gt;
689&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_ct=1&amp;_acct=C000050221&amp;_versi&lt;br&gt;
on=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=8ecef13fb66b50ddc4a3990637&lt;br&gt;
4c61b7</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 14:38:04 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431060</link>
      <author>Johan L&amp;#xF6;fberg</author>
      <description>&quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;lt;fvv2lk$lua$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
&amp;gt; message &amp;lt;fvuskh$mq9$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
&amp;gt; &amp;gt; message &amp;lt;fvus3i$kci$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvur63$oog$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;fvunbr$1tb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote &lt;br&gt;
&amp;gt; in &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Well, I won't directly answer your question, but &lt;br&gt;
&amp;gt; when I &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; see&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this, I can see that it must be annoying. My &lt;br&gt;
&amp;gt; advice&lt;br&gt;
&amp;gt; &amp;gt; to you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; is to use more modern tools to setup and solve &lt;br&gt;
&amp;gt; the SDP.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I think this approach would save you a lot of &lt;br&gt;
&amp;gt; agony&lt;br&gt;
&amp;gt; &amp;gt; during&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the modelling.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; /johan&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % We could do something like this, but then we &lt;br&gt;
&amp;gt; would&lt;br&gt;
&amp;gt; &amp;gt; have &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; find out the&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % dimensions of the zero blocks, and we are too &lt;br&gt;
&amp;gt; lazy to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; do that &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1          &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  B1'                         0          -&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared*I  &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      M                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      Q                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Instead, we use the blkvar shortcut. It &lt;br&gt;
&amp;gt; automatically&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in &lt;br&gt;
&amp;gt; message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Is anyone can help me? I can figure out what &lt;br&gt;
&amp;gt; happened &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to my &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          B1'              0       -gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; ===================================================&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size of &lt;br&gt;
&amp;gt; 2 and &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; incompatible &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I have checked many times and can't figure out &lt;br&gt;
&amp;gt; why it &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; is &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dear Johan:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thank you very much. But I still have some doubts &lt;br&gt;
&amp;gt; about &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; You recommend me to use YALMIP, but I think the&lt;br&gt;
&amp;gt; &amp;gt; program you &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; write for me is not apply to me.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 1.The original problem is for a discrete time linear&lt;br&gt;
&amp;gt; &amp;gt; delay &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; system which I have't write it here, If there &lt;br&gt;
&amp;gt; exists &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; positive-define matrices Q, S1, S2 and a matrix M&lt;br&gt;
&amp;gt; &amp;gt; satisfied &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; that LMI, then we call it H-inf quadratically stable&lt;br&gt;
&amp;gt; &amp;gt; with H-&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; inf norm bound gammar. So I mean gammar cannot be a&lt;br&gt;
&amp;gt; &amp;gt; random &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; variable. So you write the program that object is &lt;br&gt;
&amp;gt; to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; minimize gamma^2, I think it is not suitable.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 2.In my problem, matrices like A, Ad, Dd, they are &lt;br&gt;
&amp;gt; all &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; specified, you use randn(n,n) to generate them. I &lt;br&gt;
&amp;gt; replace &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; them with specified ones.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; I though gammar was a decision variable that you &lt;br&gt;
&amp;gt; wanted to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; optimize. If it is given, well then you just use that&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; instead and remove the objective from the call to &lt;br&gt;
&amp;gt; solvesdp&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; and solve the feasibility problem instead&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; You can of course use your own data, I only defined &lt;br&gt;
&amp;gt; random&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; matrices to get an example that was working.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; The problem can be solved with YALMIP and SeDuMi &lt;br&gt;
&amp;gt; without a&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; doubt, it is a trivial SDP problem.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ..and I noticed you optimized over M too, so you should &lt;br&gt;
&amp;gt; use&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; M = sdpvar(somesize,someothersize,'full')&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; To summarize&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Q = sdpvar(2,2);&lt;br&gt;
&amp;gt; &amp;gt; S1 = sdpvar(2,2);&lt;br&gt;
&amp;gt; &amp;gt; S2 = sdpvar(1);&lt;br&gt;
&amp;gt; &amp;gt; % Full by definition, but just to rmember it if &lt;br&gt;
&amp;gt; &amp;gt; % we change dimensions later&lt;br&gt;
&amp;gt; &amp;gt; M = sdpvar(1,2,'full');&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; B(1,1) = -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; B(1,2) = A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; B(3,3) = -gammar^2*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; solvesdp(Constraints)&lt;br&gt;
&amp;gt; &amp;gt;     yalmiptime: 0.3430&lt;br&gt;
&amp;gt; &amp;gt;     solvertime: 1.3440&lt;br&gt;
&amp;gt; &amp;gt;           info: 'No problems detected (SeDuMi-1.1)'&lt;br&gt;
&amp;gt; &amp;gt;        problem: 0&lt;br&gt;
&amp;gt; &amp;gt;         dimacs: [1.4589e-015 0 0 0 7.3848e-016 3.9007e-&lt;br&gt;
&amp;gt; 015]&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; double(Q)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;     0.2425   -0.2091&lt;br&gt;
&amp;gt; &amp;gt;    -0.2091    1.0081&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; double(S1)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;     1.3613   -0.4978&lt;br&gt;
&amp;gt; &amp;gt;    -0.4978    2.3019&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; double(S2)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;     2.0517&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&amp;gt; double(M)&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;    -0.1367   -0.6933&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; This LMI example is what I read from a paper, but the &lt;br&gt;
&amp;gt; author's result is different form yours. And he gave &lt;br&gt;
&amp;gt; proofs, I think the author only use matlab and we use other &lt;br&gt;
&amp;gt; toolboxes. I doubt if there really exists result difference &lt;br&gt;
&amp;gt; because of toolboxes?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The paper's address is &lt;a href=&quot;http://www.sciencedirect.com/science?&quot;&gt;http://www.sciencedirect.com/science?&lt;/a&gt;&lt;br&gt;
&amp;gt; _ob=ArticleURL&amp;_udi=B6V21-3WWV8W6-B&amp;_user=10&amp;_coverDate=08%&lt;br&gt;
&amp;gt; 2F31%&lt;br&gt;
&amp;gt; 2F1999&amp;_alid=736573613&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_cdi=5&lt;br&gt;
&amp;gt; 689&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_ct=1&amp;_acct=C000050221&amp;_versi&lt;br&gt;
&amp;gt; on=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=8ecef13fb66b50ddc4a3990637&lt;br&gt;
&amp;gt; 4c61b7&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
The solution is not unique since you only solve a&lt;br&gt;
feasibility problem</description>
    </item>
    <item>
      <pubDate>Fri, 09 May 2008 01:07:06 -0400</pubDate>
      <title>Re: LMI term dimensions incompatible</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/168901#431171</link>
      <author>Michael Zhang</author>
      <description>&quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
message &amp;lt;fvv38c$sug$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in message&lt;br&gt;
&amp;gt; &amp;lt;fvv2lk$lua$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in &lt;br&gt;
&amp;gt; &amp;gt; message &amp;lt;fvuskh$mq9$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote in&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvus3i$kci$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; wrote &lt;br&gt;
in&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvur63$oog$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote in &lt;br&gt;
message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;fvunbr$1tb$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Johan L?fberg&quot; &amp;lt;loefberg@control.ee.ethz.ch&amp;gt; &lt;br&gt;
wrote &lt;br&gt;
&amp;gt; &amp;gt; in &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; message &amp;lt;fvueq0$mf3$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Well, I won't directly answer your question, &lt;br&gt;
but &lt;br&gt;
&amp;gt; &amp;gt; when I &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; see&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this, I can see that it must be annoying. My &lt;br&gt;
&amp;gt; &amp;gt; advice&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; to you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; is to use more modern tools to setup and &lt;br&gt;
solve &lt;br&gt;
&amp;gt; &amp;gt; the SDP.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Using YALMIP and the solver SeDuMi&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&lt;a href=&quot;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&quot;&gt;http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; n=Solvers.SEDUMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; you would code your problem as below. &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I think this approach would save you a lot of &lt;br&gt;
&amp;gt; &amp;gt; agony&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; during&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the modelling.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; /johan&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = sdpvar(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared = sdpvar(1,1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = randn(n,n);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % We could do something like this, but then &lt;br&gt;
we &lt;br&gt;
&amp;gt; &amp;gt; would&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; have &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; find out the&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % dimensions of the zero blocks, and we are &lt;br&gt;
too &lt;br&gt;
&amp;gt; &amp;gt; lazy to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; do that &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %B = [ -Q+Bd*S2*Bd'+Ad*S1*Ad' &lt;br&gt;
A*Q+B2*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1          &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;        Bd*S2*Dd'+Ad*S1*Cd'  0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Q*A'+M'*B2'                -Q            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Q*C'+M'*D12'         M'      Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  B1'                         0          -&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammasquared*I  &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          D11'                0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  Dd*S2*Bd'+Cd*S1*Ad'    C*Q+D12*M         &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11            &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd' 0       0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      M                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                  -S2      0;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %  0                      Q                 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 0              &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;      0                   0      -S1 ];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Instead, we use the blkvar shortcut. It &lt;br&gt;
&amp;gt; &amp;gt; automatically&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; fills in the blanks and symmetrizes for you&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,1) =  -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,2) =  A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,3) = -gammasquared*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Objective = gammasquared;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Minimize gamma^2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; solvesdp(Constraints,Objective)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &quot;Michael Zhang&quot; &amp;lt;cy_xiaoxiao@126.com&amp;gt; wrote &lt;br&gt;
in &lt;br&gt;
&amp;gt; &amp;gt; message&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;fvtuvp$aiv$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Is anyone can help me? I can figure out &lt;br&gt;
what &lt;br&gt;
&amp;gt; &amp;gt; happened &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to my &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; programm.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I need to solve a inequality:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; | -Q+Bd*S2*Bd'+Ad*S1*Ad' A*Q+B2*M   B1&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |      Q*A'+M'*B2'         -Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          B1'              0       -&lt;br&gt;
gammar^2*I&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |   Dd*S2*Bd'+Cd*S1*Ad'  C*Q+D12*M  D11&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                M       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; |          0                Q       0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;     Bd*S2*Dd'+Ad*S1*Cd'     0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;          Q*C'+M'*D12'       M'      Q  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              D11'           0       0  |  &amp;lt;0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   -I+Cd*S1*Cd'+Dd*S2*Dd'    0       0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0             -S2      0  |&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;              0              0      -S1 | &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;   &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Matrices:Q, S1, S2 are positive-define.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Below is programm:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; ===================================================&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Initial a LMI system&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; setlmis([]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Define Variables&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Q is a symmetric matrix, has a block size &lt;br&gt;
of &lt;br&gt;
&amp;gt; &amp;gt; 2 and &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; block is symmetric &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Q = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S1 a symmeric matrix, size 2 by 2&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S1 = lmivar(1, [2 1]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % S2 is 1 by 1 matrix&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; S2 = lmivar(1, [1 0]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % Type of 2, size 1 by 2 &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; M = lmivar(2, [1 2]);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; %I use upper triangular to represent the LMI&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos in (1, 1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 1 S1], Ad, Ad');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos (1, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 Q], A, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 2 M], B2, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 3 0], B1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(1, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S2], Bd, Bd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 2 Q], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 Q], 1, C');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 4 -M], 1, D12');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 5 -M], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(2, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 2 6 Q], 1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 3)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 3 0], -(gammar^2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(3, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 3 4 0], D11');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(4, 4)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 0], -1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S1], Cd, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 4 4 S2], Dd, Dd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(5, 5)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 5 5 S2], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; % pos(6, 6)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 6 6 S1], -1, 1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmis = getlmis;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [tmin, feas] = feasp(lmis)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; --------------------------------&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; When I run it, I get error message:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; ??? Error using ==&amp;gt; lmiterm at 296&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lhs of LMI #1, block (4,1): term dimensions &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; incompatible &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; with&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; other terms in same row&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Error in ==&amp;gt; paperor at 56&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; lmiterm([1 1 4 S1], Ad, Cd');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I have checked many times and can't figure &lt;br&gt;
out &lt;br&gt;
&amp;gt; &amp;gt; why it &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; is &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; wrong, can anybody point it to me?&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Dear Johan:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thank you very much. But I still have some &lt;br&gt;
doubts &lt;br&gt;
&amp;gt; &amp;gt; about &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; this.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; You recommend me to use YALMIP, but I think the&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; program you &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; write for me is not apply to me.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 1.The original problem is for a discrete time &lt;br&gt;
linear&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; delay &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; system which I have't write it here, If there &lt;br&gt;
&amp;gt; &amp;gt; exists &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; positive-define matrices Q, S1, S2 and a matrix &lt;br&gt;
M&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; satisfied &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; that LMI, then we call it H-inf quadratically &lt;br&gt;
stable&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; with H-&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; inf norm bound gammar. So I mean gammar cannot &lt;br&gt;
be a&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; random &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; variable. So you write the program that object &lt;br&gt;
is &lt;br&gt;
&amp;gt; &amp;gt; to &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; minimize gamma^2, I think it is not suitable.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; 2.In my problem, matrices like A, Ad, Dd, they &lt;br&gt;
are &lt;br&gt;
&amp;gt; &amp;gt; all &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; specified, you use randn(n,n) to generate them. &lt;br&gt;
I &lt;br&gt;
&amp;gt; &amp;gt; replace &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; them with specified ones.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I though gammar was a decision variable that you &lt;br&gt;
&amp;gt; &amp;gt; wanted to&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; optimize. If it is given, well then you just use &lt;br&gt;
that&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; instead and remove the objective from the call to &lt;br&gt;
&amp;gt; &amp;gt; solvesdp&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; and solve the feasibility problem instead&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; You can of course use your own data, I only &lt;br&gt;
defined &lt;br&gt;
&amp;gt; &amp;gt; random&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; matrices to get an example that was working.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; The problem can be solved with YALMIP and SeDuMi &lt;br&gt;
&amp;gt; &amp;gt; without a&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; doubt, it is a trivial SDP problem.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; ..and I noticed you optimized over M too, so you &lt;br&gt;
should &lt;br&gt;
&amp;gt; &amp;gt; use&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; M = sdpvar(somesize,someothersize,'full')&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; To summarize&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; A = [2 1; 0 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Ad = [0.2 0.1; 0 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B1 = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B2 = [1 1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Bd = [0.1 0.1]';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; C = [1, 1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Cd = [0.1, 0.1];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D11 = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; D12 = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Dd = 0.1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; gammar = 1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Q = sdpvar(2,2);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; S1 = sdpvar(2,2);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; S2 = sdpvar(1);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % Full by definition, but just to rmember it if &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % we change dimensions later&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; M = sdpvar(1,2,'full');&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B = blkvar;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,1) = -Q+Bd*S2*Bd'+Ad*S1*Ad';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,2) = A*Q+B2*M;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,3) = B1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(1,4) = Bd*S2*Dd'+Ad*S1*Cd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,2) = -Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,4) = Q*C'+M'*D12';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,5) = M';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(2,6) = Q;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(3,3) = -gammar^2*eye(size(B1,2));&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(3,4) = D11';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(4,4) = -eye(size(Cd,1))+Cd*S1*Cd'+Dd*S2*Dd';&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(5,5) = -S2;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; B(6,6) = -S1;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; % set up all constraints&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Constraints = [B &amp;lt; 0, Q&amp;gt;0, S1&amp;gt;0, S2&amp;gt;0];&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; solvesdp(Constraints)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     yalmiptime: 0.3430&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     solvertime: 1.3440&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;           info: 'No problems detected (SeDuMi-1.1)'&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;        problem: 0&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;         dimacs: [1.4589e-015 0 0 0 7.3848e-016 &lt;br&gt;
3.9007e-&lt;br&gt;
&amp;gt; &amp;gt; 015]&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; double(Q)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     0.2425   -0.2091&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;    -0.2091    1.0081&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; double(S1)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     1.3613   -0.4978&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;    -0.4978    2.3019&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; double(S2)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;     2.0517&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &amp;gt;&amp;gt; double(M)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ans =&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;    -0.1367   -0.6933&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; This LMI example is what I read from a paper, but the &lt;br&gt;
&amp;gt; &amp;gt; author's result is different form yours. And he gave &lt;br&gt;
&amp;gt; &amp;gt; proofs, I think the author only use matlab and we use &lt;br&gt;
other &lt;br&gt;
&amp;gt; &amp;gt; toolboxes. I doubt if there really exists result &lt;br&gt;
difference &lt;br&gt;
&amp;gt; &amp;gt; because of toolboxes?&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; The paper's address is &lt;br&gt;
&lt;a href=&quot;http://www.sciencedirect.com/science?&quot;&gt;http://www.sciencedirect.com/science?&lt;/a&gt;&lt;br&gt;
&amp;gt; &amp;gt; _ob=ArticleURL&amp;_udi=B6V21-3WWV8W6-&lt;br&gt;
B&amp;_user=10&amp;_coverDate=08%&lt;br&gt;
&amp;gt; &amp;gt; 2F31%&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
2F1999&amp;_alid=736573613&amp;_rdoc=1&amp;_fmt=high&amp;_orig=search&amp;_cdi=5&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
689&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_ct=1&amp;_acct=C000050221&amp;_versi&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
on=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=8ecef13fb66b50ddc4a3990637&lt;br&gt;
&amp;gt; &amp;gt; 4c61b7&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The solution is not unique since you only solve a&lt;br&gt;
&amp;gt; feasibility problem&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
Thank you very much. According to this, I have a lot to &lt;br&gt;
learn.</description>
    </item>
  </channel>
</rss>

