Programación Segma
Doble uniforme (doble a, doble b, long int *seed)//a, b son los límites superior e inferior de números distribuidos uniformemente, *seed es la semilla de números aleatorios.
{
Doble t;
* semilla = 2045 *(* semilla)+1;
* semilla = * semilla- (* semilla/1048576)* 1048576;
t =(* semilla)/1048576.0;
t = a+(b-a)* t;
return t ;
}
Doble Gauss (Doble media, Doble sigma, Long int * s)//Representa la media de la distribución normal, la desviación estándar de la distribución normal Sigma, * s( La *semilla en "uniform . h") es la semilla del número aleatorio.
{
int I;
Doble x, y;
doble uniforme(doble, doble, largo int *); /p>
for(x=0,I=0;i<12;i++)
x +=uniforme(0,1.0,s);
x- = 6.0
y = media + x * sigma
Devuelve y
}
int main()
{
int i, j;
long int s;
Doble x, media, sigma
// doble gauss (doble, doble, largo int *);
media = 0;
sigma = 1;
s = 13579; cambia, el número aleatorio generado no cambia.
for(I = 0;i<= 10;i++)
{
for(j = 0;j & lt= 5;j++) p>
{
x = Gaussiano (media, sigma y gaussiano);
printf("%13.7f ", x); p>p>
}
printf("\n");
}
}