% by Dr. Ute Feldmann, TU Dresden, Germany
clf;hold on;xlabel('x');ylabel('y');zlabel('z');view(3)
options = odeset('OutputFcn',@odephas3);
%options = odeset('OutputFcn',[]);
% EV und EW fuer Zweige + Stamm
lambda=[2,2,1];
V=eye(3);
A=V*diag(lambda)/V;

zweige=5;
etagen=7;
z=linspace(-.2,-1,etagen);
r0=0.1;
phi=linspace(0,2*pi,zweige+1);

% einen Stamm 
[ts,l]=ode23(@ltiD,[0 4],[0,0,-0.1]',options,A);
plot3(l(:,1),l(:,2),l(:,3),'k','LineWidth',3);
pause(.5)%print -depsc -tiff xt1

% die Zweige

for i=1:etagen
    z0=z(i);offset=rand*2*pi/zweige;
    for j=1:zweige%pro etage
        psi=phi(j)+offset;
        x0=r0*cos(psi);y0=r0*sin(psi);
        [t,l]=ode23(@ltiD,[0 2],[x0,y0,z0]',options,A);
        plot3(l(:,1),l(:,2),l(:,3),'g','LineWidth',2);
    end
end
pause(.5)%print -depsc -tiff xt2

% das Kabel
clear i
alpha=1;beta=20;
lambda=[alpha+i*beta,alpha-i*beta,1];
V=[1,1,0;i,-i,0;0,0,1];
A=V*diag(lambda)/V;

z0=[.1,0,-0.1]';
[t,l]=ode23(@ltiD,[0 4],z0,options,A);
plot3(l(:,1),l(:,2),l(:,3),'k');
pause(.5)%print -depsc -tiff xt3

% die Lichter
A=V*diag(exp(lambda*0.1))/V;

z=A^20*z0;
for j=1:20
    z=A*z;% iterative Abbildung eines zeitdiskreten Systems
    plot3(z(1),z(2),z(3),'ro','MarkerSize',8);
    plot3(z(1),z(2),z(3),'y*','MarkerSize',8);   
end
%print -depsc -tiff xt4

