Voici une petite source qui montre comment calculer une loi gaussienne
Il montre en plus sa validite avec trois tests de repartitions
En theorie on a :
m +- 1.s : 68%
m +- 2.s : 95%
m +- 3.s : 99%
Source / Exemple :
double _RandomGaussian(double m,double s)
{
unsigned n1,n2;
double x1,x2,y;
// on ne veut pas que <x1> et <x2> soit nuls
while((n1 = Random(),0 == n1));
while((n2 = Random(),0 == n2));
x1 = n1/((double)(unsigned)(-2));
x2 = n2/((double)(unsigned)(-2));
// methode de Boc-Muller
// <y> suit une loi normale reduite (m=0,s=1)
y = sqrt(-2*log(x1))*cos(2.*MATH_PI*x2);
PopErrorMacro();
return m + s*y;
} // _RandomGaussian()
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.