⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testh8.m

📁 h2 and h-infinite control code
💻 M
字号:
clear;
clc;

A=[5 2;3 4];
B=[0 1]';
C1=[0 1];
D1=1;
C2=[1 1];
D2=1;
E=[1;2];
gama=98;

P = h8care(A,B,C2,D2,E,gama);
EigP=eig(P);
Q = h8care(A',C1',E',D1',C2',gama);
EigQ=eig(Q);

if norm(P*Q)<gama^2
    disp('gama=');
    disp(gama);
    disp('Eig(P)=');
    disp(EigP);
    disp('Eig(Q)=');
    disp(EigQ);
else
    disp('Unfeasible gama');
end
F=-inv(D2'*D2)*(D2'*C2+B'*P);
K=-(Q*C1'+E*D1')*inv(D1*D1');
Ac=A+E*E'*P/(gama*gama)+B*F+inv(eye(2)-Q*P/(gama*gama))*K*(C1+D1*E'*P/(gama*gama));
Bc=-inv(eye(2)-Q*P/(gama*gama))*K;
Cc=F;
Dc=0;
Acl=[A+B*Dc*C1 B*Cc;Bc*C1 Ac];
Bcl=[E+B*Dc*D1;Bc*D1];
Ccl=[C2+D2*Dc*C1 D2*Cc];
Dcl=D2*Dc*D1;

w=-2:0.1:4;
for i=1:length(w)
    w(i)=10^w(i);
end
for i=1:length(w)
    sigma(i)=norm(Ccl*inv(w(i)*(0+1i)*eye(4)-Acl)*Bcl);
end
plot(w,sigma);
xlabel('Frequency (rad/sec)');
ylabel('Singular value of Hinf closed-loop system');
grid;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -