Bonjour,
Je cherche comment générer un nombre aléatoire, en C/C++, suivant une loi normale N(mu ,sig)
Merci par avance.
Bonjour,
Je cherche comment générer un nombre aléatoire, en C/C++, suivant une loi normale N(mu ,sig)
Merci par avance.
Tu as l'algo ?Envoyé par mhtrinh
Si oui, code le et poste ton code si tu as un problème.
Sinon : Algorithmes
Je pensais qu'il existait une librairie qui faisait cela ...
Si je me trompe pas l'algo est décrit dans les numerical recipes.
Salut, pour tirer une loi normale (mu,sig), tu dois tirer une variable aléatoire X suivant la loi normale centrée réduite et ensuite tu pose Y=sig*X+mu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 /* RAND is a macro which returns a pseudo-random numbers from a uniform distribution on the interval [0 1] */ #define RAND ((double) rand())/((double) RAND_MAX) /* TWOPI = 2.0*pi */ #define TWOPI 2.0*3.141592653589793238462643383279502884197169399375 /* RANDN is a macro which returns a pseudo-random numbers from a normal distribution with mean zero and standard deviation one. This macro uses Box Muller's algorithm */ #define RANDN sqrt(-2.0*log(RAND))*cos(TWOPI*RAND) double NormalDistribution(double mu,double sigma) { /* This function returns a pseudo-random numbers from a normal distribution with mean equal at mu and standard deviation equal at sigma > 0 */ if(sigma<=0.0) { fprintf(stderr,"Error in file %s line %u function %s : sigma must be > 0\nExit program\n",__FILE__,__LINE__,__FUNCTION__); exit(EXIT_FAILURE); } return (mu+sigma*RANDN); }
En effet, et ces braves gens donnent meme le code source ici, chapitre 7.Envoyé par viddak
Super !! c'est ce que je voulais.
Merci beaucoup tout le monde !!!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager