%%% Construction du nuage créé par le DLA interne sur Z^2 clear all; N=1500; % Taille du nuage final = temps auquel on regarde le modele B(1,1)=0;B(1,2)=0; A(1,1)=0;A(1,2)=0; for j=1:N i=2; b=1; while b==1 % Progression de la marche aléatoire p=rand(1); if p<0.5 if p<0.25 A(i,1)=A(i-1,1)+1; A(i,2)=A(i-1,2); end if p>=0.25 A(i,1)=A(i-1,1)-1; A(i,2)=A(i-1,2); end end if p>=0.5 if p<0.75 A(i,1)=A(i-1,1); A(i,2)=A(i-1,2)+1; end if p>=0.75 A(i,1)=A(i-1,1); A(i,2)=A(i-1,2)-1; end end a=0; k=1; while a==0 % Comparaison avec les points du nuage précédent if k==j B(j,:)=A(i,:);a=1;b=0; end if A(i,:)==B(k,:) a=1; end k=k+1; end i=i+1; end disp(j); % Affichage du temps end R=sqrt(N./pi); % Rayon du cercle n=100; % Précision pour le trace du cercle [X,Y]=pol2cart([0:(2*pi)/n:2*pi],R*ones(1,n+1)); % Ecriture en coordonnées cartésiennes des points du cercle. plot(B(:,1),B(:,2),'.',X,Y)