%   Script LAPLACE.M zur Herstellung von Bildern
%
%   Dreidimensionale Darstellung einer
%   Laplacetransformierten
%
% J. Lunze
% 28.10.1995
% für 2. Auflage: 1.11.1998
% für 3. Auflage: 3.4.2001
% für 4. Auflage: 18.9.2003
% für 5. Auflage: 18.4.2005
% für 6. Auflage: 4.12.2006
% 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: 23.03.2020
%
%   
clear
close all
%
%     F(s)    Zähler  s - 2
%             Nenner s^2 + 2 s + 10  = (s+1+j3)(s+1-j3)
%
z = [1 -2];
n = [1 2 10];

%%       F(s) berechnen für s=delta + j omega
%        für  delta = -4 ... +4
%        und  omega = -10 ... +10
%
figure(1);
k=0;
for kd=1:40,
for ko=1:72,
    delta =  5.05 - kd*0.25;
    D(ko, kd) = delta;
    omega = -9.05 + ko*0.25;
    O(ko, kd) = omega;
    Realteil = 2*delta + 10 + delta^2 - omega^2;
    Imagteil = 2*omega + 2*delta*omega;
    Zaehlerbetrag = sqrt((delta-2)*(delta-2) + omega*omega);
    F(ko, kd) = 20*log10( Zaehlerbetrag/sqrt(Realteil*Realteil + Imagteil*Imagteil));
end
end
%plot3(O, D, F);
%mesh(F), axis('ij');
mesh(O, D, F);
axis([-10 +10 -5 +5 -40 20]);
xticks([-10 -5 0 5 10]);
yticks([-5 0 5]);
zticks([-40 -20 0 20 40]);
view([142.5, 30]);
%latexxlabel('$$\omega$$ in rad/s'); % label wird
%abgeschnitten
%latexylabel('$$\delta$$ in $$\frac{1}{\rm s}$$');
latexxlabel('$$\omega$$ in rad/s');
latexylabel('$$\delta$$ in 1/s');
rotateY;
latexzlabel('$$|G|$$ in dB');
handleOnZLabel=get(gca, 'Zlabel');                    % Handle auf Beschriftung der z-Achse setzen
set(handleOnZLabel,'rotation',0);                     % Beschriftung waagerecht ausrichten
set(handleOnZLabel,'HorizontalAlignment','right');
latextitle('$$|G(s)|$$');


%%   Ausschnitt des Frequenzgangs
%
figure(2);
%
F=[];
O=[];
D=[];
%F=-60*ones(size(F));
kd=1;
for ko=1:72,
    delta =  0;
    omega = -9.0 + ko*0.25;
    O(ko, 1)=omega;
    D(ko, 1)=-0.01;
    O(ko, 2)=omega;
    D(ko, 2)=0.0;
    O(ko, 3)=omega;
    D(ko, 3)=0.01;
    Realteil = 2*delta + 10 + delta^2 - omega^2;
    Imagteil = 2*omega + 2*delta*omega;
    Zaehlerbetrag = sqrt((delta-2)*(delta-2) + omega*omega);
    F(ko, 2) = 20*log10( Zaehlerbetrag/sqrt(Realteil*Realteil + Imagteil*Imagteil));
    F(ko, 1) = -40;
    F(ko, 3) = -40;
end;
%
%plot3(O, D, F);
mesh(O, D, F);
axis([-10 +10 -5 +5 -40 20]);
xticks([-10 -5 0 5 10]);
yticks([-5 0 5]);
zticks([-40 -20 0 20 40]);
view([142.5, 30]);
%latexxlabel('$$\omega$$ in rad/s'); % label wird
%abgeschnitten
%latexylabel('$$\delta$$ in $$\frac{1}{\rm s}$$');
latexxlabel('$$\omega$$ in rad/s');
latexylabel('$$\delta$$ in 1/s');
rotateY;
latexzlabel('$$|G|$$ in dB');
handleOnZLabel=get(gca, 'Zlabel');                    % Handle auf Beschriftung der z-Achse setzen
set(handleOnZLabel,'rotation',0);                     % Beschriftung waagerecht ausrichten
set(handleOnZLabel,'HorizontalAlignment','right');
latextitle('$$|G(s)|$$');




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