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

📄 h2.m

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

A=[0 1;0 -1];
B=[0 1]';
C1=[1 0];
D1=[0 1];
C2=[0 1];
E=[0 0;1 0];
D2=0;
ep=0.01;
D1tutor=[D1 0 0 ep];
Etutor=[E ep*eye(2) zeros(2,1)];
C2tutor=[C2;ep*eye(2);zeros(1,2)];
D2tutor=[D2;zeros(2,1);ep];

P = h2care(A,B,C2tutor,D2tutor);
EigP=eig(P);
Q = h2care(A',C1',E',D1');
EigQ=eig(Q);
F=-inv(D2tutor'*D2tutor)*(D2tutor'*C2tutor+B'*P);
K=-(Q*C1'+E*D1')*inv(D1*D1');
gama=sqrt(trace(E'*P*E)+trace((A'*P+P*A+C2tutor'*C2tutor)*Q));

disp('ep=');
disp(ep);
disp('Eig(P)=');
disp(EigP);
disp('Eig(Q)=');
disp(EigQ);
disp('gama=');
disp(gama);

Ac=A+B*F+K*C1;
Bc=-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;

[num1,den1]=ss2tf(Acl,Bcl,Ccl,Dcl,1);
[num2,den2]=ss2tf(Acl,Bcl,Ccl,Dcl,2);
w=-2:0.1:2;
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 H2 closed-loop system');
grid;

⌨️ 快捷键说明

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