%   MODAGGR.M
%
%   Script zur Herstellung von Bildern
%
%   Modellvereinfachung am Beispiel
%   der Gleichstrommaschine
%
% J. Lunze
% 6.12.1995
% für 3. Auflage: 8.2.2001
% für 4. Auflage: 18.9.2003
% für 5. Auflage: 18.4.2005
% für 6. Auflage: 30.11.2006 (veränderte Motordaten)
% für 7. Auflage: 28.4.2008
% für 9. Auflage: 13.2.2012
% für 10. Auflage: 27.1.2014
% für 12. Auflage: 3.07.2019
%
%   
clear zs ns
Bspmotor   % liefert Modell "Motor"
close all

[P, N]=pzmap(Motor);
pdom=max(P);

% Approximation nach modaler Modellvereinfachung
Aappr=-12.87;
bappr=-5.14;
cappr=-dcgain(Motor)/(5.14/12.87);
dappr=0;
Motorapprox=ss(Aappr, bappr, cappr, dappr);


%%     Übergangsfunktion des Gleichstrommotors
%
figure(1);
subplot(2,1,1)
T=0:0.002:0.7;
[Y, T, X] = step(Motor, T);
[Yhat, T, Xhat] = step(Motorapprox, T);
ks=dcgain(zs, ns);
plot(T, Y, 'b', T, Yhat,'b--', [0 0.7], [ks ks], 'k:');
latexxlabel('$$t$$ in s');
latexylabel('$$h$$ in $$\frac{1}{\rm s}$$');
rotateY;
latextitle('\"Ubergangsfunktion des Gleichstrommotors');
axis([0 0.5 0 0.055]);
xticks([0 0.2 0.4 0.6]);
yticks([0 0.02 0.04]);
%latextext(0.12, 0.02, '$$\hat{y}$$');
%latextext(0.25, 0.02, '$$y$$');

%%  Frequenzgang
%
figure(2);
[Betrag, Phase, Omega]=bode(Motor);
[Betragappr, Phaseappr]=bode(Motorapprox, Omega);
subplot(2, 1, 1);
semilogx(Omega, 20*log10(Betrag(:)), 'b', Omega, 20*log10(Betragappr(:)), 'b--');
latextitle('Gleichstrommotor und N\"aherungsmodell');
latexylabel('$$|G|$$ in dB');
rotateY;
xleer;
axis([0.1 10000 -120 0]);
yticks([-100 -50 0]);
grid('on');
hold off
%
subplot(2, 1, 2);
semilogx(Omega, Phase(:), 'b', Omega, Phaseappr(:), 'b--');
latexxlabel('$$\omega$$ in rad/s');
latexylabel('$${\rm arg}(G)$$  in Grad');
rotateY;
axis([0.1 10000 -200 0]);
yticks([-180 -90 0]);
xticks([0.1 1 10 100 1000]);
grid('on');
hold off;



%% Herstellung der Bilddateien *.eps
%
Epsbildc15('modaggr');
