Dr. Johan Lofberg からのコメント

 LMI パーサ YALMIP の開発者である Dr. Johan Lofberg から下記のコメントをいただきました.

Hi,

I just browsed your sites briefly, and would just like to make a small comment

When I look in, e.g,
http://www.maizuru-ct.ac.jp/control/kawata/iscie/kawata/sample_yalmip_default.m,
I note that you are using an obsolete command, SET
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Commands.Set

The preferred approach to code is as follows

LMI = [];
% -------------------------------------------
AX = A*X + B2*Z';
CX = C1*X + D12*Z';
% -------------------------------------------
M1 = [ r*X      AX-c*X
       AX'-c*X  r*X    ];
LMI = [LMI, M1 > 0];
% -------------------------------------------
M2 = [ AX+AX' B1            CX'
       B1'   -gamma*eye(q)  D11'
       CX     D11          -gamma*eye(p) ];
LMI = [LMI, M2 < 0];
% -------------------------------------------
solvesdp(LMI,gamma)

Of course, the old approach still works, but it is not guaranteed to
work in future releases.

/johan

 つまり,これまでは YALMIP の "set" コマンドで LMI を記述(定義)していたのですが, 将来のバージョンでは "set" コマンドの動作保証をしないので,括弧 "[ ]" を使った新しい記述にした方がよいとのことです.
古い記述形式 ("set" コマンド) 新しい記述形式 (括弧 "[ ]" ) 備考
LMI = set([]); LMI = []; LMI の初期化
LMI = LMI + set(M1 > 0);
LMI = LMI + set(M2 < 0);
LMI = [LMI, M1 > 0];
LMI = [LMI, M2 < 0];
LMI の追加

解説記事 [1]-[4] における M ファイルは,"set" コマンドを利用した古い記述となっています.左側のコンテンツメニューから [1]-[4] のページに進むと, 新しい記述形式に書き換えた M ファイルをまとめた ***_bracket.zip が用意されていますので,適宜,ご利用ください.