next up previous contents index
suivant: Simulation avec randnorm() monter: Simulation avec une loi précédent: Simulation avec une loi   Table des matières   Index

Simulation avec rand()

Le nombre de pains de poids x est donc approximativement de :

f (x) = $\displaystyle {\frac{{1}}{{\sigma\sqrt{2\pi}}}}$e-$\scriptstyle {\frac{{1}}{{2}}}$($\scriptstyle {\frac{{x-198}}{{\sigma}}}$)2

Pour $ \sigma$ = 2 on a :
f (192) = f (204) = 0.002 f (193) = f (203) = 0.009 f (194) = f (202) = 0.027 f (195) = f (201) = 0.065 f (196) = f (200) = 0.121 f (197) = f (199) = 0.176 f (198) = 0.200

et on a bien f (192) + f (193) + ... + f (204) = 1
Voici une fournée de 1000 pains selon cette répartition représentée par la liste G des poids de ces 1000 pains.

//f(x):=0.5/sqrt(2*pi)*exp(-0.125*(x-198)^2)
G:=[192,204,192,204];
for(j:=0;j<9;j++){
G:=concat(G,[193,203]);
};
for(j:=0;j<27;j++){
G:=concat(G,[194,202]);
};
for(j:=0;j<65;j++){
G:=concat(G,[195,201]);
};
for(j:=0;j<121;j++){
G:=concat(G,[196,200]);
};
for(j:=0;j<176;j++){
G:=concat(G,[197,199]);
};
for(j:=0;j<200;j++){
G:=concat(G,[198]);
};
La fournée G de 10000 pains se trouve dans le fichier painG.
Le professeur achéte p pains (par exemple p = 100).
prof(p):={
local pj,A,P,j,m,S,k;
P:=makelist(0,0,12,1);
A:=G;
S:=0;
for (k:=0;k<p;k++){
    j:=rand(1000);	
    pj:=A[j];
    S:=S+pj;
    pj:=pj-192;
    P[pj]:=P[pj]+1;
};
m:=evalf(S/p);
xyztrange(-0.2,12.2,-1,36.0,-10,10,-10,-10,-0.2,
          12.2,-1,36,1);
switch_axes(NULL);
return([A,P,m,segment(0,i*P[0]),segment(1,1+i*P[1]),
 segment(2,2+i*P[2]),segment(3,3+i*P[3]),
 segment(4,4+i*P[4]),segment(5,5+i*P[5]),
 segment(6,6+i*P[6]),segment(7,7+i*P[7]),
 segment(8,8+i*P[8]),segment(9,9+i*P[9]),
 segment(10,10+i*P[10]),segment(11,11+i*P[11]),
 segment(12,12+i*P[12])]);
};
Le pain du professeur a un poids (en grammes) toujours supérieur ou égal à 200.
profchou(p):={
local pj,A,P,j,m,S,k;
P:=makelist(0,0,12,1);
A:=G;
S:=0;
for (k:=0;k<p;k++){
    j:=rand(1000);	
    pj:=A[j];
    while (pj<200) {j:=rand(n); pj:=A[j];}
    S:=S+pj;
    pj:=pj-192;
    P[pj]:=P[pj]+1;
};
m:=evalf(S/p);
xyztrange(-0.2,12.2,-1,60.0,-10,10,-10,-10,-0.2,
          12.2,-1,60,1);
switch_axes(NULL);
return([A,P,m,segment(0,i*P[0]),segment(1,1+i*P[1]),
 segment(2,2+i*P[2]), segment(3,3+i*P[3]),
 segment(4,4+i*P[4]),segment(5,5+i*P[5]), 
 segment(6,6+i*P[6]),segment(7,7+i*P[7]),
 segment(8,8+i*P[8]), segment(9,9+i*P[9]),
 segment(10,10+i*P[10]),segment(11,11+i*P[11]),
 segment(12,12+i*P[12])]);
};


Documentation de giac écrite par Renée De Graeve