%   Script EMPFFKT.M zur Herstellung von Bildern
%
%   Empfindlichkeitsfunktion und
%   komplementär Empfindlichkeitsfunktion
%
% J. Lunze
% 15.12.1995
% für 2. Auflage: 28.2.1999
% für 3. Auflage: 3.4.2001
% für 4. Auflage: 15.9.2003
% für 5. Auflage: 18.4.2005
% für 6. Auflage: 4.12.2006
% für 7. Auflage: 14.5.2008  neu: Verlauf bei instabiler Strecke
% für 9. Auflage: 13.2.2012
% für 10. Auflage: 25.4.2014
% für 12. Auflage: 01.07.2019
%
%   
clear
close all

%     System  Zähler  1
%             Nenner s^4 + 6s^3 + 10s^2 + 6s = s(s+1)(s+2)(s+3)
%
z = [1];
n = [1 6 10 6 0];
System=tf(z, n);

%%   Empfindlichkeitsfunktion s
%    komplementäre Empfindlichkeitsfunktion T
% 
figure(1);
subplot(2,1,1);
S = feedback(1, System);
T = feedback(System, 1);
Frequ=logspace(-3, 1, 400);
[S, SPhase]=bode(S, Frequ);
[T, TPhase] = bode(T, Frequ);
semilogx(Frequ, 20*log10(S(:)), 'b', Frequ, 20*log10(T(:)), 'b');
xleer;
latexxlabel('$$\omega$$ (logarithmisch)');
latexylabel('$$|T|, |S|$$ in dB');
rotateY;
latextitle('Amplitudengang $$|S(j\omega)|, |T(j\omega)|$$');
latextext(0.010, -30, '$$S$$');
latextext(0.5, -30, '$$T$$');
axis([0.001 10 -50 20]);
yticks([-40 -20 0 20]);
 
%
%     System  Zähler  1
%             Nenner s^3 + 6s^2 + 10s + 6 = (s+1)(s+2)(s+3)
%
z = [1];
n = [1 6 10 6];
System=tf(z, n);

%%  Empfindlichkeitsfunktion S
%   komplementäre Empfindlichkeitsfunktion T
%
figure(2);
subplot(2,1,1);
S = feedback(1, 0.5*System);
S1 = feedback(1, System);
Frequ = [0.1:.1:8];
Eins=zeros(size(Frequ));
[SBetrag, SPhase]=bode(S, Frequ);
[S1Betrag, SPhase1] = bode(S1, Frequ);
plot(Frequ, log10(SBetrag(:)), 'b', Frequ, log10(S1Betrag(:)), 'b--',...
   [0 8],[0 0],'k:',[1.2 1.2],[-0.04 -0.07],'k:',[5 5],[-0.04 -0.07],'k:');
xleer;
yleer;
latextext(-0.3, 0, '0');
latexxlabel('$$\omega$$ (linear)');
latexylabel('$$|R|$$ in dB');
rotateY;
latextitle('Empfindlichkeitsfunktion');
latextext(0.3, -0.01, '-')
latextext(1.8, 0.005, '+')
latextext(0.5, -0.06, 'I');
latextext(3, -0.06, 'II');
latextext(6.5, -0.06, 'III');
axis([0 8 -0.07 0.02]);


%%  Empfindlichkeitsfunktion S
%   komplementäre Empfindlichkeitsfunktion T
%
%   
figure(3);
subplot(3,1,[1,2])
instabSyst=tf([4],poly([1 -2]));
S = feedback(1, 2*instabSyst);  % P-Regler mit k_P=2
S1 = feedback(1, instabSyst);   % P-Regler mit k_P=1
Frequ = [0.1:.1:8];
Eins=zeros(size(Frequ));
[SBetrag, SPhase]=bode(S, Frequ);
[S1Betrag, SPhase1] = bode(S1, Frequ);
plot(Frequ, log10(SBetrag(:)), 'b', Frequ, log10(S1Betrag(:)), 'b--',...
   [0 8],[0 0],'k:',[1.2 1.2],[-0.04 -0.07],'k:',[5 5],[-0.04 -0.07],'k:');
%xleer;
%yleer;
%latextext(-0.3, 0, '0');
latexxlabel('$$\omega$$ in $$\frac{\rm rad}{\rm s}$$ (linear)');
latexylabel('$$|R|$$ in dB');
rotateY;
latextitle('Empfindlichkeitsfunktion');
latextext(0.5, 0.4, '1')
latextext(3.5, 0.4, '$$k_{\rm P}=2$$')
axis([0 8 -0.5 0.6]);
yticks([-40 -20 0 20]);

%%     Bilder auf .EPS- und .PS-Dateien
%
Epsbildc15('empffkt');
