资源简介
CCLA算法用于解决以矩阵不等式形式表示的控制器问题,锥补线性化算法(CCLA)可线性化处理非线性矩阵不等式作,再用Matlab中的工具计算线性矩阵不等式(LMI),最后求得控制器增益参数。
代码片段和文件信息
function [tminxfeasLMISYSXfbarXfT1fbarT1fT2fbarT2ftildeRfbarRftildeSfbarSftildeQftildeefYf]...
=algorithm_AC1(ABDEE1taumdeltanmselectcc)
%function作为文件第一行,...表示续行符
setlmis([]);
X= lmivar(1 [n 1]);
barX= lmivar(1 [n 1]);
T1= lmivar(1 [n 1]);
barT1= lmivar(1 [n 1]);
T2= lmivar(1 [n 1]);
barT2= lmivar(1 [n 1]);
tildeR= lmivar(1 [n 1]);
barR= lmivar(1 [n 1]);
tildeS= lmivar(1 [n 1]);
barS= lmivar(1 [n 1]);
tildeQ= lmivar(1 [n 1]);
tildee= lmivar(1 [1 1]);
Y= lmivar(2 [m n]);
% The first main LMI
main=newlmi;
% (11)-block: AX+XA‘+tildeQ-tildeR
lmiterm([main 1 1 X] A 1 ‘s‘);
lmiterm([main 1 1 tildeQ] 1 1);
lmiterm([main 1 1 tildeR] -1 1);
% (12)-block: BY
lmiterm([main 1 2 Y] B 1);
% (13)-block: tildeR
lmiterm([main 1 3 tildeR] 1 1);
% (14)-block: tildee*D
lmiterm([main 1 4 tildee] 1 D);
% (15)-block: taum*(A*X)‘
lmiterm([main 1 5 X] taum A‘);
% (16)-block: delta*(A*X)‘
lmiterm([main 1 6 X] delta A‘);
% (17)-block: (E*X)‘
lmiterm([main 1 7 X] 1 E‘);
% (22)-block: -tildeS
lmiterm([main 2 2 tildeS] -1 1);
% (23)-block: tildeS
lmiterm([main 2 3 tildeS] 1 1);
% (25)-block: taum*(BY)‘
lmiterm([main 2 5 -Y] taum B‘);
% (26)-block: delta*(BY)‘
lmiterm([main 2 6 -Y] delta B‘);
% (27)-block: (E1*Y)‘
lmiterm([main 2 7 -Y] 1 E1‘);
% (33)-block: -tildeQ-tildeR-tildeS
lmiterm([main 3 3 tildeQ] -1 1);
lmiterm([main 3 3 tildeR] -1 1);
lmiterm([main 3 3 tildeS] -1 1);
% (44)-block: -tildee*I
lmiterm([main 4 4 tildee] -1 1);
% (45)-block: taum*tildee*D‘
lmiterm([main 4 5 tildee] taum D‘);
% (46)-block: delta*tildee*D‘
lmiterm([main 4 6 tildee] delta D‘);
% (55)-block: -T1
lmiterm([main 5 5 T1] -1 1);
% (66)-block: -T2
lmiterm([main 6 6 T2] -1 1);
% (77)-block: -tildee*I
lmiterm([main 7 7 tildee] -1 1);
% The first additional LMI
add1=newlmi;
% |-barT1 barX|
% | |<0
% |barX -barR1|
lmiterm([add1 1 1 barT1] -1 1);
lmiterm([add1 1 2 barX] 1 1);
lmiterm([add1 2 2 barR] -1 1);
% The second additional LMI
add2=newlmi;
% |-barT2 barX|
% | |<0
% |barX -barS|
lmiterm([add2 1 1 barT2] -1 1);
lmiterm([add2 1 2 barX] 1 1);
lmiterm([add2 2 2 barS] -1 1);
% The third additional LMI
add3=newlmi;
% |X I|
% | |>0
% |I barX|
lmiterm([-add3 1 1 X] 1 1);
lmiterm([-add3 1 2 0] 1);
lmiterm([-add3 2 2 barX] 1 1);
% The fourth additional LMI
add4=newlmi;
% |T1 I|
% | |>0
% |I barT1|
lmiterm([-add4 1 1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4792 2013-11-16 16:08 CCLAagororismMatlab\algorithm_AC1.m
文件 2568 2013-11-25 21:20 CCLAagororismMatlab\algorithm_AC1main.m
文件 3230 2013-11-27 19:07 CCLAagororismMatlab\CCLA5_2Fun.m
文件 1915 2013-12-09 10:37 CCLAagororismMatlab\CCLA5_2Main.m
目录 0 2014-03-05 10:04 CCLAagororismMatlab
----------- --------- ---------- ----- ----
12505 5
- 上一篇:几个SAR图像预处理方法
- 下一篇:LBM格子波尔兹曼 matlab范例
评论
共有 条评论