function traffic_pl(vel) 
%
%  traffic_pl(vel)
%   plottet die Dynamik des Verkehrssystems, das
%   in der Variable vel gespeichert ist.
%
%  vel ... (L x Ntime) Matrix
%    In jeder Spalte ist ein Zeitschritt codiert.
%    Eintrag:  -1:   kein Auto vorhanden
%             >-1:   Auto mit dieser Geschwindigkeit
%
%  Autor: Alexander Pruell
%  Datum: 06. Mai 2002
%
  
  s = size(vel);
  N = s(1);
  Ntime = s(2);

  y  = find(vel(:,1)~=-1);
  y2 = y + vel(y,1);
  l  = y2 <= N;
  si   = length(y);
  x    = [ones(1,si);2*ones(1,si)];
  plot(x(:,l),[y(l),y2(l)]','-k')
  d1 = y2(~l)-y(~l);
  d2 = y2(~l)-N;
  dy = d1-d2+0.5;
  dx = dy./d1;
  x  =  [ones(1,length(dx));(1+dx)];
  hold on
  plot(x,[y(~l),y(~l)+dy]','-k')
  x  =  [(1+dx);2*ones(1,length(dx))];
  y2 = mod(y2-1,N)+1;
  dx = 1-dx;
  dy = d1.*dx;
  plot(x,[y2(~l)-dy,y2(~l)]','-k')
  for t=2:Ntime
    y  = y2;
    y2 = y + vel(y,t);
    l  = y2 <= N;
    x    = [t*ones(1,si);(t+1)*ones(1,si)];
    plot(x(:,l),[y(l),y2(l)]','-k')
    d1 = y2(~l)-y(~l);
    d2 = y2(~l)-N;
    dy = d1-d2+0.5;
    dx = dy./d1;
    x  =  [t*ones(1,length(dx));(t+dx)];
    plot(x,[y(~l),y(~l)+dy]','-k')
    x  =  [(t+dx);(t+1)*ones(1,length(dx))];
    y2 = mod(y2-1,N)+1;
    dx = 1-dx;
    dy = d1.*dx;
    plot(x,[y2(~l)-dy,y2(~l)]','-k')
  end
  hold off
  xlim([0,Ntime+2])
  ylim([0,N+1])
  xlabel('Zeit')
  ylabel('Ort')
