Fichier feigenbaum.mp (figure 3) — Modifié le 23 Juin 2008 à 11 h 01
prologues:=2;
verbatimtex
etex
%%%%%%%%%%%%%%%%%%%%%%%%%%
beginfig(1)
numeric rmin, rmax, r, dr, n, ux, uy;
rmin := 2.9; rmax := 3.9;
r := rmin; n := 300; %175
dr := (rmax - rmin)/n;
ux := 8cm; uy := 8cm;
for i = 1 upto (n/2):
x := 0.5; % our starting point
for j=1 upto 90: % initial iterations
x := r*x*(1-x);
endfor
for j=1 upto 20: % the next 20 iterations
x := r*x*(1-x);
draw (r*ux,x*uy) withpen pencircle scaled .3pt;
endfor
r := r+dr;
endfor;
for i = ((n/2) +1) upto n:
x := 0.5; % our starting point
for j=1 upto 80: % initial iterations
x := r*x*(1-x);
endfor
for j=1 upto 300: % the next 300 iterations
x := r*x*(1-x);
draw (r*ux,x*uy) withpen pencircle scaled .2pt;
endfor
r := r+dr;
endfor;
% draw axes and labels
draw (rmin*ux,0) -- (rmax*ux,0);
draw (rmin*ux,0) -- (rmin*ux,uy);
labeloffset := 0.25cm;
label.bot(decimal(rmin), (rmin*ux,0));
label.bot(decimal((rmin+rmax)/2), ((rmin+rmax)/2*ux,0));
label.bot(decimal(rmax), (rmax*ux,0));
label.lft(decimal(0), (rmin*ux,0));
label.lft(decimal(0.5), (rmin*ux,0.5*uy));
label.lft(decimal(1), (rmin*ux,uy));
label.bot(btex $r$ etex, ((rmax-0.2)*ux,0));
label.lft(btex orbit etex rotated 90, (rmin*ux,0.75*uy));
endfig;
beginfig(2);
numeric rmin, rmax, r, dr, n, ux, uy;
rmin := 3.5; rmax := 3.95;
r := rmin; n := 200; %175
dr := (rmax - rmin)/n;
ux := 8cm; uy := 8cm;
for i = 1 upto n:
x := 0.5; % our starting point
for j=1 upto 50: % initial iterations
x := r*x*(1-x);
endfor
for j=1 upto 250: % the next 300 iterations
x := r*x*(1-x);
draw (r*ux,x*uy) withpen pencircle scaled .3pt;
endfor
r := r+dr;
endfor;
% draw axes and labels
draw (rmin*ux,0) -- (rmax*ux,0);
draw (rmin*ux,0) -- (rmin*ux,uy);
labeloffset := 0.25cm;
label.bot(decimal(rmin), (rmin*ux,0));
label.bot(decimal((rmin+rmax)/2), ((rmin+rmax)/2*ux,0));
label.bot(decimal(rmax), (rmax*ux,0));
label.lft(decimal(0), (rmin*ux,0));
label.lft(decimal(0.5), (rmin*ux,0.5*uy));
label.lft(decimal(1), (rmin*ux,uy));
label.bot(btex $r$ etex, ((rmax-0.2)*ux,0));
label.lft(btex orbit etex rotated 90, (rmin*ux,0.75*uy));
endfig;
beginfig(3);
numeric rmin, rmax, r, dr, n, ux, uy;
rmin := 3.8; rmax := 3.99;
r := rmin; n := 180; %175
dr := (rmax - rmin)/n;
ux := 8cm; uy := 8cm;
for i = 1 upto n:
x := 0.5; % our starting point
for j=1 upto 50: % initial iterations
x := r*x*(1-x);
endfor
for j=1 upto 300: % the next 300 iterations
x := r*x*(1-x);
draw (r*ux,x*uy) withpen pencircle scaled .2pt;
endfor
r := r+dr;
endfor;
% draw axes and labels
draw (rmin*ux,0) -- (rmax*ux,0);
draw (rmin*ux,0) -- (rmin*ux,uy);
labeloffset := 0.25cm;
label.bot(decimal(rmin), (rmin*ux,0));
%label.bot(decimal((rmin+rmax)/2), ((rmin+rmax)/2*ux,0));
label.bot(decimal(rmax), (rmax*ux,0));
label.lft(decimal(0), (rmin*ux,0));
label.lft(decimal(0.5), (rmin*ux,0.5*uy));
label.lft(decimal(1), (rmin*ux,uy));
label.bot(btex $r$ etex, ((rmax-0.2)*ux,0));
label.lft(btex orbit etex rotated 90, (rmin*ux,0.75*uy));
endfig;
beginfig(4);
numeric rmin, rmax, r, dr, n, ux, uy;
rmin :=0; rmax := 3.585;
r := rmin; n := 1000; %175
dr := (rmax - rmin)/n;
ux := 8cm; uy := 8cm;
for i = 1 upto 950:
x := 0.5; % our starting point
for j=1 upto 50: % initial iterations
x := r*x*(1-x);
endfor
for j=1 upto 20: % the next 100 iterations
x := r*x*(1-x);
draw (r*ux,x*uy) withpen pencircle scaled .5pt;
endfor
r := r+dr;
endfor;
for i = 951 upto n:
x := 0.5; % our starting point
for j=1 upto 50: % initial iterations
x := r*x*(1-x);
endfor
for j=1 upto 200: % the next 100 iterations
x := r*x*(1-x);
draw (r*ux,x*uy) withpen pencircle scaled .3pt;
endfor
r := r+dr;
endfor;
% draw axes and labels
draw (rmin*ux,0) -- (rmax*ux,0);
draw (rmin*ux,0) -- (rmin*ux,uy);
labeloffset := 0.25cm;
label.bot(decimal(rmin), (rmin*ux,0));
label.bot(decimal((rmin+rmax)/2), ((rmin+rmax)/2*ux,0));
label.bot(decimal(rmax), (rmax*ux,0));
label.lft(decimal(0), (rmin*ux,0));
label.lft(decimal(0.5), (rmin*ux,0.5*uy));
label.lft(decimal(1), (rmin*ux,uy));
label.bot(btex $r$ etex, ((rmax-0.2)*ux,0));
label.lft(btex orbit etex rotated 90, (rmin*ux,0.75*uy));
endfig;
end