%
% Aufgabe 4.7.2: Gedämpfte Schwingung, aperiod. Grenzfall
%    schwingung( w )
%       w : Kreisfrequenz
%
%    Beispielaufruf:
%      >> schwingung( 12 )
%
function  schwingung( w )

   % Aperiodischer Grenzfall: 
   d = w;
   
   % Schwingung mit Dämpfung als Regelung: 
   %  dx/dt = (A - b*k) * x
   A = [ 0, 1; -w*w, 0 ];
   b = [ 0; 1 ];
   k = [ 0, 2*d ];  % Rückführvektor
   
   Ak = A - b*k;
   
   fprintf( 'Eigenwerte: ' );
   ew = eig(Ak)
   
   realTeil_ew1 = real( ew(1) );
   realTeil_ew2 = real( ew(2) );
   if( realTeil_ew1 < 0 && realTeil_ew2 < 0 )
      fprintf( 'System ist asymptotisch stabil. \n' ); 
      fprintf( 'Realteil der EW: %g und %g \n', ...
               realTeil_ew1, realTeil_ew2 );
   else
      fprintf( 'System ist asymptotisch nicht stabil. \n' );
   end
   
   x0 = [ 1, 0 ]; % Anfangswerte 
   tspan = [0,2]; % Zeitintervall
   
   % Lösung des Anfangswertproblems 
   [t,x] = ode45( @schwingung_dgl, tspan, x0, [], A, b, k ); 
   
   z = x( :, 1 ); % Funktionswert = 1. Komponente 
   plot( t, z ); grid on; % alles plotten
end