资源简介
给了一个H2/H∞混合控制例程,里面有源程序及仿真模型框图
代码片段和文件信息
echo off
clc
A=[0 1;-0.6826 -1.7628];
B=[0;1];
C=[0.0368 0];
E=[1;1];
U=[0.3 0; 0 0.3];
V=[1 0; 0 1];
F=eye(2);
%alpha=0.1;
T=0.3;
[GH]=c2d(ABT);
M=(expm(A*T)-eye(2))*inv(A)*E;
%Gq=((eye(2)+A*T)+F*(eye(2)+A*T)*inv(F))/2.0;
Hq=expm(A*T)*(T*eye(2)-inv(A))*inv(A)+inv(A)*inv(A);
%Hq=0;
%Tp=0.01*T;
%for i=0:100
% Hq=Hq+((eye(2)+A*i*Tp)+F*(eye(2)+A*i*Tp)*inv(F))*i*Tp/2.0;
%end
Mq=Hq;
%Mq=0;
%Tp=0.01*T;
%for i=0:100
% Mq=Mq+((eye(2)+A*i*Tp)+F*(eye(2)+A*i*Tp)*inv(F))*i*Tp/2.0;
%end
%deltaG=alpha*G*F*T;
%deltaH=alpha*Hq*F*B;
%deltaM=Mq*U*U‘*F*E;
const1=1;
const2=0.1;
W=G*U*U‘*G‘+Hq*U*U‘*Hq‘+Mq*U*U‘*Mq‘;
gama=10;
%for i=1:length(gama)
setlmis([]);
S=lmivar(1[1 1]);
Q=lmivar(1[2 1]);
Y=lmivar(2[1 2]);
%1st LMI
lmiterm([1 1 1 Q]-11);
lmiterm([1 2 1 0]0);
lmiterm([1 3 1 Q]G1);
lmiterm([1 3 1 Y]H1);
lmiterm([1 4 1 Q]1V*T);
lmiterm([1 5 1 Y]V*B1);
lmiterm([1 6 1 Q]C1);
lmiterm([1 7 1 0]0);
lmiterm([1 2 2 0]-gama^2);
%lmiterm([1 2 2 0](1/const1)*E‘*E);
lmiterm([1 3 2 0]M);
lmiterm([1 4 2 0]0);
lmiterm([1 5 2 0]0);
lmiterm([1 6 2 0]0);
lmiterm([1 7 2 0]V*E);
lmiterm([1 3 3 Q]-11);
lmiterm([1 3 3 0]const1*W);
lmiterm([1 4 3 0]0);
lmiterm([1 5 3 0]0);
lmiterm([1 6 3 0]0);
lmiterm([1 7 3 0]0);
lmiterm([1 4 4 0]-const1);
lmiterm([1 5 4 0]0);
lmiterm([1 6 4 0]0);
lmiterm([1 7 4 0]0);
lmiterm([1 5 5 0]-const1);
lmiterm([1 6 5 0]0);
lmiterm([1 7 5 0]0);
lmiterm([1 6 6 0]-1);
lmiterm([1 7 6 0]0);
lmiterm([1 7 7 0]-const1);
%2nd LMI
lmiterm([2 1 1 S]-11);
lmiterm([2 2 1 0]M);
lmiterm([2 3 1 0]V*E);
lmiterm([2 2 2 Q]-11);
lmiterm([2 2 2 0]const2*Mq*Mq‘);
lmiterm([2 3 2 0]0);
lmiterm([2 3 3 0]-const2);
%3rd LMI
lmiterm([-3 1 1 Q]11);
%4th LMI
%lmiterm([-4 1 1 S]11);
lmisys=getlmis;
n=decnbr(lmisys);
c=zeros(n1);
for j=1:n
[Sj]=defcx(lmisysjS);
c(j)=trace(S);
end
%V1=defcx(lmisys1SYQ);
%c=[1 0 0 0 0 0]‘;
%x=[S 0 0 0 0 0]‘;
%c=mat2dec[lmisys1];
[coptxopt]=mincx(lmisysc[0 0 0 0 0]);
Sf=dec2mat(lmisysxoptS)
Yf=dec2mat(lmisysxoptY);
Qf=dec2mat(lmisysxoptQ);
K=Yf*inv(Qf)
%trace((M+deltaM)‘*inv(Qf)*(M+deltaM))
%end
L=eig(A+B*K)
Ec=L(1)*L(2)/0.0368
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20656 2005-12-18 20:43 H2和H无穷混合控制\gama_H2.fig
文件 28400 2005-12-19 13:46 H2和H无穷混合控制\gama_H21.fig
文件 15931 2005-12-19 10:57 H2和H无穷混合控制\H2_Hinf.mdl
文件 18536 2005-12-30 17:11 H2和H无穷混合控制\h2_hinf_simulation.mdl
文件 2266 2005-12-30 16:41 H2和H无穷混合控制\shiyan_H2_Hinf.m
文件 1906 2005-12-15 13:43 H2和H无穷混合控制\simu_K.asv
文件 1917 2005-12-15 13:44 H2和H无穷混合控制\simu_K.m
文件 1669 2006-01-16 11:57 H2和H无穷混合控制\simu_KUV.asv
文件 2217 2005-12-19 10:51 H2和H无穷混合控制\simu_KUV.m
文件 31400 2005-12-19 19:04 H2和H无穷混合控制\turb_unW.fig
文件 33848 2005-12-19 19:12 H2和H无穷混合控制\turb_W.fig
文件 31504 2005-12-19 19:03 H2和H无穷混合控制\unW_unturb.fig
目录 0 2009-06-11 19:08 H2和H无穷混合控制
文件 183 2009-02-02 09:47 Matlab中文论坛--助努力的人完成毕业设计.url
文件 3543 2009-02-01 16:19 使用帮助:新手必看.htm
----------- --------- ---------- ----- ----
193976 15
评论
共有 条评论