La variable aléatoire X suit un loi de Poisson de paramètre λ > 0 si pour tout entier n : P(X = n) = e-λ λn / n ! On démontre alors que E(X) = V(X) = λ. Méthode utilisée pour générer des nombres alétoires selon la loi de Poisson de paramètre λ : private int rndpoiss (double lambda) { int resultat = 0; double r = rnd.nextDouble(); double expmlambda = Math.exp (-lambda); while (r > expmlambda){ resultat ++; r *= rnd.nextDouble(); } return resultat; }Autre méthode possible dans laquelle "rnd.nextDouble()" n'est utilisé qu'une seule fois mais qui nécessite plus d'opérations : private int rndpoiss (double lambda) { double somme = 1; double t = 1; int n = 0; double r = rnd.nextDouble() * Math.exp (lambda); while (somme < r) { n ++; t *= lambda / n; somme += t; } return n; } |