%
% UE_1  Uebung 1: Zustandsregelung/Polvorgabe/Steuerbarkeit
%

% K. Mueller  01-MAY-1993
% Technische Universitaet Braunschweig, IfR
% ----------------------------------------------------------------
clc
disp(' ')
disp(' -----------------------------------------------------------')
disp('          MATLAB Uebung 1:')
disp(' -----------------------------------------------------------')
disp(' ')
disp('          Zustandsregelung/Polvorgabe/Steuerbarkeit')
disp('          am Beispiel eines Feder-Massen-Schwingers')
disp(' ')
disp(' -----------------------------------------------------------')
disp(' ')
disp('          Dieses M-File erzeugt fuer das Beispiel:')
disp('               o  die Systemmatrix      A')
disp('               o  die Eingangsmatrix    B')
disp('               o  die Ausgangsmatrix    C')
disp('               o  die Durchgangsmatrix  D')
disp(' ')
disp('          Eingangsgroesse  u:  Antriebskraft F')
disp('          Ausgangsgroesse  y:  Position      s2')
disp('          Zustandsgroessen x:  v1, v2, s1, s2')
disp(' ')
disp('          > Bitte die Streckenparameter eingeben')
disp('            (weiter mit <RETURN>)')
pause;
m1 = input('          > Masse 1         m1: ');
if isempty(m1)
    error('  Wurstfinger! Nicht herumalbern.')
end
m2 = input('          > Masse 2         m2: ');
if isempty(m2)
    error('  Wurstfinger! Nicht herumalbern.')
end
d1 = input('          > Reibung 1       d1: ');
if isempty(d1)
    error('  Wurstfinger! Nicht herumalbern.')
end
d2 = input('          > Reibung 2       d2: ');
if isempty(d2)
    error('  Wurstfinger! Nicht herumalbern.')
end
c1 = input('          > Federkonstante  c1: ');
if isempty(c1)
    error('  Wurstfinger! Nicht herumalbern.')
end
c2 = input('          > Federkonstante  c2: ');
if isempty(c2)
    error('  Wurstfinger! Nicht herumalbern.')
end
disp(' ')
disp(' Danke, das genuegt. Hier ist die Regelstrecke:')
disp(' ')
A = [ -d1/m1       0   -(c1+c2)/m1   c2/m1
           0  -d2/m2         c2/m2  -c2/m2
           1       0             0       0
           0       1             0       0 ]
B = [ 0; 1/m2; 0; 0 ]
C = [ 0 0 0 1]
D = [ 0 ]
disp('           Die Streckenmatrizen sind in den Variablen')
disp('           A, B, C, D enthalten.')
disp(' ')
disp(' -----------------------------------------------------------')
disp('                Viel Glueck beim Reglerentwurf.')
disp(' -----------------------------------------------------------')
disp(' ')
% --------- End of UE_1.M --- KPM %
