fonctions utilisées : alea(), ent( ) et =alea.entre.bornes( ; )

Utiliser la fonction ALEA()

Le principe

En saisissant dans une cellule =alea(), on obtient un nombre aléatoire dans l'intervalle [0;1[ qui suit une loi uniforme. Cela signifie concrètement que la probabilité d'obtenir un réel dans [0,2; 0,8] est 0,6 . En effet, c'est la longueur de l'intervalle [0,2; 0,8] divisée par la longueur de l'intervalle [0;1[ donc c'est (0,8-0,2)/(1-0)=0,6.

Les opérations

multiplication

La formule =3*alea() donne une nombre aléatoire x dans [0;3[. En prenant la partie entière de ce nombre x, avec la formule =ent(3*alea()), on obtient

  1. 0 si x est dans [0;1[ (longueur 1)
  2. 1 si x est dans [1;2[ (longueur 1)
  3. 2 si x est dans [2;3[ (longueur 1)

Finalement, on a une chance sur 3 d'obtenir 0,une chance sur 3 d'obtenir 1 et une chance sur 3 d'obtenir2 .

Si on veut une fonction qui donne de façon équiprobable 1, 2 ou 3, il suffit de prendre la formule =1+ent(3*alea()).


addition

La formule =0,3+alea() donne une nombre aléatoire y dans [0,3;1,3[. En prenant la partie entière de ce nombre y, avec la formule =ent(0.3+alea()), on obtient

  1. 0 si x est dans [0,3;1[ (longueur 0,7)
  2. 1 si x est dans [1;1.3[ (longueur 0.3)

Finalement, on obtient 0 avec une probabilité de 0,7 ou 1 avec une probabilité de 0,3.

Utilisation

équiprobabilité

Pour simuler un lancer de dé équilibré à 6 faces, on utilse habituellement =1+ent(6*alea()).

piéce

Pour simuler un lancer de pièce équilibrée on utilise habituellement =ent(2*alea()) et il reste à coder en choisissant par exemple Pile←0 et Face←1.

marche aléatoire

Pour obtenir 1 ou -1 de façon équiprobable, on part du cas précédent =ENT(2*ALEA()) mais il faut transformer 0 en -1 et 1 en 1; on cherche une transformation affine (x→ax+b ) qui réalise cela.

À l'aide de techniques sophistiquées, on trouve que x→2x-1 transforme 0 en -1 et 1 en 1.

la formule 2*ENT(2*ALEA())-1 convient.

une autre formule possible =SI(ENT(2*ALEA())=0;-1;1) .

cas général

Pour obtenir 0 avec la probabilité 0,45 et 1 avec la probabilité 0,55, on saisit =ent(0,55+alea()) (faire obligatoirement un petit dessin ).

Une fonction pour les paresseux

La fonction ALEA.ENTRE.BORNES permet de donner de façon équiprobable un nombre aléatoire entier entre deux nombres entiers.

Ainsi en saisissant =ALEA.ENTRE.BORNES(2;5) dans un cellule, on obtiendra aléatoirement 2, 3, 4 ou 5 de façon équiprobable.

fait le 12 mai 2008