% --------------------------------------------------------
% MND1, November 2013
% Erzeugung eines Vektorfeldes eines Systems von Dgl 1-ter Ordnung
% mit dem Befehl quiver
% Punkte wo ein Richtungsvektor angebracht werden
% sollte:
% rf_dgl.m und rf_dgl_dgl.m werden gerufen
% -------------------------------------

global delta;
  xcord = -1:.25:1;
  ycord = -1:.25:1;

  [xx,yy] = meshgrid(xcord,ycord);

% Bestimmung der Richtungsvektoren in den
% entsprechenden Punkten: (geg. Dgl.)
 
  delta = 0.0;
 %delta =  0.2;
  [xxp,yyp] = rf_dgl(xx,yy);
  %xxp = yy;
  %yyp = - delta.*yy-xx;

  figure(1)
  
  subplot(1,2,1)
  hold off
  quiver(xx,yy,xxp,yyp)
  grid
  axis equal
  
  title('Vektorfeld eines Dgl-Systems, Phasenportr\"at', 'interpreter', 'latex')
  xlabel('$y(t)$ ( = Ort des Objekts)', 'interpreter', 'latex')
  ylabel('$yp(t)$ ( = Geschwindigkeit des Objekts)', 'interpreter', 'latex')
  
  subplot(1,2,2)
  hold off
  quiver(xx,yy,xxp,yyp)
  grid
  hold 
  
  axis equal
  pause
  

  x0 = [0;1]
  t0 = 0;
  tfinal = 5*pi;
  tspan = [t0 tfinal];
  [x, y] = ode23('rf_dgl_dgl', tspan, x0);
  
  subplot(1,2,2)
  plot(y(:,1), y(:,2), 'r.-')
%   for k = 1:length(x)
%    plot(y(k,1), y(k,2), 'r.-')
%    pause(.2)
%   end
  
  %axis equal