%   Script DSYST2O.M zur Herstellung von Bildern
%
%   Verhalten von Systemen zweiter Ordnung
%
% verwendet EPSBILD.M
% Daten in RT1: SYST2OR.M  vom 9.10.95
%
% J. Lunze
% 25.11.1996
% für 3. Auflage: 19.4.2004
% für 5. Auflage: 18.10.2007
% für 7. Auflage 31.3.2012
% für 10. Auflage: 9.9.2019
%
%
clear
close all

A = [-0.8 2;
     -2 -0.8];
b = [1;
     1];
c = [1 1];
d = 0.3;
x0=[1, 1];
Ta=0.4;
[Ad, bd]=c2d(A, b, Ta);

%%   Übergangsfunktion und Gewichtsfunktion eines
%   sprungfähigen Systems zweiter Ordnung
%
%   (Sprungfähigkeit in Gewichtsfunktion nicht sichtbar)
%
figure(1);
subplot(4,1,[1,2]);;
Y=dstep(Ad, bd, c, d, 1);
Td=[0:length(Y)-1];
T=Ta*[-3 -2 -1 Td];
Y = [0; 0; 0; Y];
Tk=Ta*[0:0.1:length(Y)-1];
System2=ss(A, b, c, d);
[Yk, Tk]=step(System2, Tk);
plot(T, Y, 'bo', Tk, Yk, 'b--',[-1 0 0],[0 0 d], 'b--', [0 0],[-0.5 1.5],'k:', [-1 8],[0 0],'k:');
xleer;
yleer;
latexxlabel('$$t$$');
latexylabel('$$h$$');
rotateY;
latextitle('\"Ubergangsfolge eines Systems zweiter Ordnung');
latextext(T(1,3), Y(4,1), '$$d$$');
%text(T(1,1),  Y(1,1),'b');
latextext(0, -0.35, '0');
latextext(-1.3, 0, '0');
axis([-1 6 -0.2 1.5]);
Tmax=max(size(Tk));
latextext(6.2, Yk(Tmax), '$$k_{\rm s}$$')


%%   Gewichtsfolge
%
figure(2);
subplot(4,1,[1,2]);;
Y=dimpulse(Ad, bd, c, d);
Td=[0:length(Y)-1];
Tk=Ta*[0:0.1:max(size(Y))-1];
T=Ta*Td;
T=Ta*[-3 -2 -1 Td];
Y = [0; 0; 0; Y];
[Yk, Tk]=impulse(System2, Tk);
plot(T, Y, 'bo', Tk, Yk, 'b--', [-1 0 0],[0 0 c*b], 'b--', [0 0],[-1 2.5],'k:',[-1 7],[0 0],'k:');
xleer;
yleer;
latexxlabel('$$t$$');
latexylabel('$$g$$');
rotateY;
latextitle('Gewichtsfolge eines Systems zweiter Ordnung');
latextext(0, -1.4, '0');
latextext(-1.3, 0, '0');
axis([-1 7 -1 2.5]);





%%   Beispiele für Systeme zweiter Ordnung
%
%
figure(3)
A=[-3  3  0  0 0   0  0  0  0  0;
   -3 -3  0  0 0   0  0  0  0  0;
    0  0 -3  5 0   0  0  0  0  0;
    0  0 -5 -3 0   0  0  0  0  0;
    0  0  0  0 -2  0  0  0  0  0;
    0  0  0  0 1 -2.3 0  0  0  0;
    0  0  0  0 0   0 -5  0  0  0;
    0  0  0  0 0   0  1 -6  0  0;
    0  0  0  0 0   0  0  0  1.2  0;
    0  0  0  0 0   0  0  0  1  1.5];
B=[4 0  0  0  0;
   4 0  0  0  0;
   0 7  0  0  0;
   0 7  0  0  0;
   0 0 6.9 0  0;
   0 0  0  0  0;
   0 0  0 30  0;
   0 0  0  0  0;
   0 0  0  0 0.05;
   0 0  0  0  0 ];
C=[1 1 0 0 0 0 0 0 0 0;
   0 0 1 1 0 0 0 0 0 0;
   0 0 0 0 0 1 0 0 0 0;
   0 0 0 0 0 0 0 1 0 0;
   0 0 0 0 0 0 0 0 0 1];
D=zeros(5,5);
Ta=0.3;
[Ad, Bd]=c2d(A, B, Ta);
subplot(2,3,1);
System=ss(Ad, Bd, C, D);
[P, N]=pzmap(System);
plot(P, 'bx');
hold on
plot([-2 2],[0 0],'k:', [0 0],[-2 2],'k:');
latextitle('PN-Bild');
latexxlabel('Re');
latexylabel('Im');
rotateY;
axis([-0.2 1.6 -0.9 0.9]);
xticks([0 0.5 1 1.5]);
yticks([-0.5 0 0.5]);
axis('square');
Te=12;
ks=ddcgain(Ad, Bd, C, D);
for i=1:5
   subplot(2, 3, i+1);
   Y=dstep(Ad, Bd, C, D, i, Te);
   T=0:length(Y)-1;
   stairs(T, Y, 'Color','b','LineWidth',1.5);
   hold on
   plot(T, Y(:,i), 'bo', [0 12],[ks(i,i) ks(i,i)],'k:');
   %xleer;
   %yleer;
   axis([0 10 0 2.2]);
end;
subplot(2, 3, 2);
latextitle('$$h$$');
xleer;
yticks([0 1 2]);
subplot(2, 3, 3);
xleer;
yticks([0 1 2]);
subplot(2, 3, 4);
latexxlabel('$$k$$');
xticks([0 5 10]);
yticks([0 1 2]);
subplot(2, 3, 5);
latexxlabel('$$k$$');
xticks([0 5 10]);
yticks([0 1 2]);
subplot(2, 3, 6);
latexxlabel('$$k$$');
xticks([0 5 10]);
yticks([0 1 2]);

%
%     Ausgabe der Bilder als .eps-Dateien
%
Epsbildc15('dsyst2o');
