Création d'un échantillon suivant la loi uniforme sur [0 ; 1]

Signaler
Messages postés
4
Date d'inscription
lundi 31 août 2009
Statut
Membre
Dernière intervention
26 mars 2011
-
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
-
Bonjour
Je suis un mathématicien et je veux de faire une application en java ou bien en C qui me permette de crée un échantillon suivant la loi uniforme sur [0 ; 1] et sauver sur un fichier, en suit a base de ce fichier je crée des nombre aléatoire suivant des distributions différente (gauss, beta, gamma...), mais je trouve plusieurs difficultés.

4 réponses

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Bonjour
en C :
rand()/(double) RAND_MAX;

te donnera un chiffre entre 0 et 1.
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
Messages postés
4
Date d'inscription
lundi 31 août 2009
Statut
Membre
Dernière intervention
26 mars 2011

Oui mais le problème c'est comment crée des échenillent aléatoire suivant des distributions gaussienne, Beta, gamma a base des nombre uniforme.
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Ah bah je croyais que tu étais mathématicien...
Pour la loi gaussienne tu as l'élégante méthode de [Box and Muller]

- générer u, v uniforme entre 0 et 1
- return sqrt(-2ln(u)cos(2*PI*v))

Pour les autres lois, regarde les méthodes de rejet et d'inversion (rejection method, inversion method)
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
Google est toujours ton ami.
http://www.codeproject.com/KB/recipes/zigurat.aspx


louis