% voidpar = iterativemap(iter,M) 
% Skript zum Verfolgen einer mehrfachen Abbildung
% durch die eingegebene Matrix M. Es wird 'iter'-mal abgebildet.
function iterativemap(varargin)
if nargin > 1
  Mac = varargin{2};
else
  Mac = [0.9 -0.1 ; 0.1 0.9]; 
end
if nargin > 0
  iterc = varargin{1};
else
  iterc = 6;
end

clf  ; hold on
xy = zeros(20,2,11,11);
for ili = 1:11
  for iro = 1:11
% Start-Koordinatenpaare bei x,y = -10:2:+10
    xy(1,1,ili,iro) = 2*(iro-6); 
    xy(1,2,ili,iro) = 2*(ili-6);
% wiederkehrende Abbildung, (iter-Mal) mit M
    for k=1:iterc
      xy(k+1,:,ili,iro) = (Mac*(xy(k,:,ili,iro))' )'; 
    end
  end
end
% Plot der Abbildungs-Geschichte    
for ili = 1:11
  for iro = 1:11
    plot(xy(1:iterc+1,1,ili,iro),xy(1:iterc+1,2,ili,iro))
    plot(xy(1,1,ili,iro),xy(1,2,ili,iro),'k+')
    plot(xy(2:iterc+1,1,ili,iro),xy(2:iterc+1,2,ili,iro),'ro')
  end
end
axis equal; hold off
