• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-04-18
  • 语言: Matlab
  • 标签: 锥补  CCLA  Matlab  LMI  

资源简介

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


评论

共有 条评论

相关资源