%   Script UEBERGFKT.M
%
%   Übergangsfunktionen
%
% J. Lunze
% 17.5.2002
% für 2. Auflage: 27.12.2006
% für 3. Auflage: 17.1.2012
% für 5. Auflage: 11.01.2020
%
%
clear
close all
A = [-1 2;
     -2 -1];
B = [1;
     1];
C = [1 1];
D = 0.2;
x0=[1, 1];

%%  Übergangsfunktion und Gewichtsfunktion eines
%   sprungfähigen Systems zweiter Ordnung
%
%   (Sprungfähigkeit in Gewichtsfunktion nicht sichtbar)
%
figure(1);
subplot(4,1,[1,2]);
PT2System=ss(A, B, C, D);
[Y, T]=step(PT2System);
ks=dcgain(PT2System);
plot(T, Y, 'b', [-1 0 0],[0 0 D], 'b', [0 0],[-0.5 1.5],'k:', [-1 8],[0 0],'k:', [0 10],[ks ks],'b--');
xleer;
yleer;
latexxlabel('$$t$$');
latexylabel('$$h$$');
rotateY;
latextitle('\"Ubergangsfunktion eines Systems zweiter Ordnung');
latextext(T(1,1)-0.3, Y(1,1), '$$d$$');
latextext(T(1,1),  Y(1,1),'-');
latextext(0, -0.3, '0');
%latextext(-1.3, 0, '0');
axis([-0.5 5 -0.2 1.2]);
yticks([0]);
[m, n]=size(T);
Tmax = max(m, n);
latextext(T(1,1)-0.3, Y(Tmax), '$$k_{\rm s}$$')


%%  Stochastisch gestörte Übergangsfunktion eines PT1-Gliedes
%
figure(2)
dt=0.2;
Te=20;
T=[0:dt:Te];
System=ss([-0.3], [1], [4.3*0.3], 0);
[Y2, T]=step(System, T);
F=rand(size(Y2));
Y2 = Y2 + F;
Tt=5;
kneu=Tt/dt;
Y2t=zeros(ceil((Te+Tt)/dt),1);
for k=1:length(T)
    Y2t(k+kneu,1)=Y2(k);
    Tneu(k+kneu)=T(k);
end
Tneu(1:kneu)=[-Tt:dt:-dt];
Y2t(1:kneu,1)=rand(kneu,1);
plot(Tneu, Y2t, 'b');
latexxlabel('$$t$$ in min');
latexylabel('$$h$$');
rotateY;
latextitle('Experimentell ermittelte \"Ubergangsfunktion')
yticks([-5 0 5 10 15 20]);
yticks([0 2 4 6]);
grid('on')




%%  Übergangsfunktion eines Systems zweiter Ordnung
%   für d=0.5 und d=0.2
%
figure(3);
T=0:0.1:40;
subplot(4,1,[1,2]);
PT2d=tf([1], [1 0.5 1]);
[Y, T]=step(PT2d, T);
plot(T, Y, 'b', [-6 0],[0 0], 'b',[0 0],[-0.5 2],'k:', [-2 30],[0 0],'k:');
hold on
xleer;
yleer
latexylabel('$$h$$');
rotateY;
latextitle('\"Ubergangsfunktionen unterschiedlicher Systeme');
axis([-2 20 -0.5 2]);
yticks([0]);
PT2d2=tf([1], [1 0.2 1]);
[Y, T]=step(PT2d2);
plot(T, Y, 'b--');
hold off
%
subplot(4,1,[3,4]);
T3=0:0.05:50;
System1=ss([-0.1 0 ; 1 -0.3], [1; 0], [0 2*0.3*0.1], 0);
System2=ss([-1], [1], [2], 0);
System3=ss([-0.4], [1], [2*0.4], 0);
[Y1]=step(System1, T3);
[Y2]=step(System2, T3);
[Y3]=step(System3, T3);
plot(T3, Y1, 'b', T3, Y2, 'b', T3, Y3, 'b',...
    [-10 50],[0 0],'k:',[-50 0],[0 0], 'b', [-10 50],[2 2],'k:', [0 0],[-10 3],'k:');
xleer;
latexxlabel('$$t$$');
yleer;
latexylabel('$$h$$');
rotateY;
axis([-2 20 -0.5 2.2]);
yticks([0]);
xticks([0]);

%%     Bilder in .EPS-Dateien
%
Epsbildc15('ueberg');
