Exponentielle et génération aléatoire en VBA
Fermé
Raphael025
Messages postés
2
Date d'inscription
samedi 19 février 2011
Statut
Membre
Dernière intervention
19 février 2011
-
19 févr. 2011 à 20:52
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 20 févr. 2011 à 00:02
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 20 févr. 2011 à 00:02
A voir également:
- Exponentielle et génération aléatoire en VBA
- Generation ryzen - Guide
- Generation mot de passe - Télécharger - Sécurité
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Réinitialiser chromecast 1ere génération - Guide
3 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 19/02/2011 à 23:01
Modifié par eriiic le 19/02/2011 à 23:01
Bonsoir,
Je ne connais pas ton algorithme usuel mais un piège classique sur vba :
avec log on s'attend à travailler avec le log décimal or il s'agit du log népérien.
Si jamais...
eric
edit:
Par théorème, la moyenne des exponentielles devrait être l'exponentielle de la moyenne des gaussiennes et donc 1.
Je vais peut-être dire une bétise mais tu mets 10 * Exp(g) et non Exp(g), c'est peut-être normal que tu trouves une valeur 10 fois plus élevée (?)
Je ne connais pas ton algorithme usuel mais un piège classique sur vba :
avec log on s'attend à travailler avec le log décimal or il s'agit du log népérien.
Si jamais...
eric
edit:
Par théorème, la moyenne des exponentielles devrait être l'exponentielle de la moyenne des gaussiennes et donc 1.
Je vais peut-être dire une bétise mais tu mets 10 * Exp(g) et non Exp(g), c'est peut-être normal que tu trouves une valeur 10 fois plus élevée (?)
Raphael025
Messages postés
2
Date d'inscription
samedi 19 février 2011
Statut
Membre
Dernière intervention
19 février 2011
Modifié par Raphael025 le 19/02/2011 à 23:17
Modifié par Raphael025 le 19/02/2011 à 23:17
Bonsoir Eric,
Merci beaucoup pour ta réponse.
L'algorithme usuel est en fait celui de Box-Muller :
https://www.taygeta.com/random/gaussian.html
Il s'agit du log népérien qui est utilisé.
Je me demande vraiment s'il y'a un erreur dans mon code, ou si c'est l'arrondi qui plante...La suite converge rapidement vers 10.5 alors qu'elle devrait converger vers 10.
edit :
La moyenne de 10*Exp(g) devrait être 10 fois la moyenne de Exp(g) soit 10*1.
Merci beaucoup pour ta réponse.
L'algorithme usuel est en fait celui de Box-Muller :
https://www.taygeta.com/random/gaussian.html
Il s'agit du log népérien qui est utilisé.
Je me demande vraiment s'il y'a un erreur dans mon code, ou si c'est l'arrondi qui plante...La suite converge rapidement vers 10.5 alors qu'elle devrait converger vers 10.
edit :
La moyenne de 10*Exp(g) devrait être 10 fois la moyenne de Exp(g) soit 10*1.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
20 févr. 2011 à 00:02
20 févr. 2011 à 00:02
Si tu es sûr de ton algorithme on peut supposer des erreurs d'arrondis (courants et normaux dans excel, amplifiés par l'exponentielle (?))
Sur ce site on trouve des fonctions plus précises dont AleaStable() qui permet de générer des nombres selon une loi normale (est-ce réellement ce que tu veux, pas sûr).
Peut-être pas vraiment adapté à ton pb (j'avoue être dépassé) mais si ça te permet de générer une suite de meilleure qualité. A toi de voir...
eric
Sur ce site on trouve des fonctions plus précises dont AleaStable() qui permet de générer des nombres selon une loi normale (est-ce réellement ce que tu veux, pas sûr).
Peut-être pas vraiment adapté à ton pb (j'avoue être dépassé) mais si ça te permet de générer une suite de meilleure qualité. A toi de voir...
eric