📄 testh8.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 + -