Générer des nombres aléatoires
Cette page décrit différentes façons de générer des nombres aléatoires.
- La formule ALEA()
- La formule ALEA.ENTRE.BORNES()
- Générer un nombre entre a et b par pas de k
- Simulation d'une loi normale
La formule ALEA()
- Syntaxe :
=ALEA()
Elle génère un nombre aléatoire entre 0 (inclus) et 1 (exclus) suivant une loi uniforme (chaque nombre a la même probabilité de tomber).
La formule ALEA.ENTRE.BORNES()
- Syntaxe :
=ALEA.ENTRE.BORNES(Minimum;Maximum)
La formule renvoie un nombre entier aléatoire dans l'intervalle [Minimum, Maximum].
L'utilisation de cette formule requiert l'Utilitaire d'analyse. Pour activer celui-ci, aller dans Outils\Macros complémentaires et cocher la case Utilitaire d'analyse. Si vous ne souhaitez pas l'activer, la formule suivante est équivalente à ALEA.ENTRE.BORNES :
=Minimum+ENT((Maximum-Minimum+1)*ALEA())
Générer un nombre entre a et b (inclus) par pas de k
- Syntaxe
=ENT(((b-a)/k+1)*ALEA())*k+a
- Exemple : générer des demi-entiers compris entre 1 et 10 selon une loi uniforme
=ENT(((10-1)/0,5+1)*ALEA())*0,5+1
Simulation d'une loi normale
Les formules suivantes génèrent des nombres aléatoires suivant une loi normale de moyenne m et d'écart-type sigma.
- Avec LOI.NORMALE.INVERSE()
=LOI.NORMALE.INVERSE(ALEA();m;sigma)
Avantage : formule simple.
Inconvénient : il y a environ 1 chance sur 10^15 que la fonction renvoie l'erreur #NOMBRE!.
- Méthode de Box-Müller
=m+sigma*RACINE(-2*LN(1-ALEA()))*COS(2*PI()*ALEA())
Avantage : ne renvoie jamais d'erreur.
Inconvénient : formule obscure.
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
