Foros del Web » Programando para Internet » PHP »

Números aleatorios que sigan una distribución normal

Estas en el tema de Números aleatorios que sigan una distribución normal en el foro de PHP en Foros del Web. Hola compañeros; Estoy haciendo una simulación y necesito generar números aleatorios comprendidos entre 0 y 1. El problema que tengo es que la función rand() ...
  #1 (permalink)  
Antiguo 07/10/2009, 11:58
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años, 2 meses
Puntos: 4
Números aleatorios que sigan una distribución normal

Hola compañeros;

Estoy haciendo una simulación y necesito generar números aleatorios comprendidos entre 0 y 1. El problema que tengo es que la función rand() me devuelve números aleatorios que siguen una distribución uniforme y quiero que me los devuelva siguiendo la función de probabilidad de la distribución normal. ¿Cómo lo hago?

Un abrazo amigos.
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #2 (permalink)  
Antiguo 07/10/2009, 12:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Números aleatorios que sigan una distribución normal

Para eso usas srand() para establecer un seed, si tu usas uno constante generas números aleatorios iguales.

Saludos.
  #3 (permalink)  
Antiguo 07/10/2009, 12:30
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años, 2 meses
Puntos: 4
Respuesta: Números aleatorios que sigan una distribución normal

Pero... ¿no me sale siempre el mismo número?
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #4 (permalink)  
Antiguo 07/10/2009, 12:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Números aleatorios que sigan una distribución normal

srand lo único que hace es poner el número para generar números aleatorios y estos se comporten de una forma en especifica, para eso es útil.

Saludos.
  #5 (permalink)  
Antiguo 07/10/2009, 12:42
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años, 2 meses
Puntos: 4
Respuesta: Números aleatorios que sigan una distribución normal

Código PHP:
private function normal(){
        
        
srand(0.5);
        return 
rand(0,1);
        
    } 
Siempre devuelve 0...
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #6 (permalink)  
Antiguo 07/10/2009, 13:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Números aleatorios que sigan una distribución normal

Lo que pasa es que pasar por el generador, si quieres un rango de números prueba esto:
Código PHP:
Ver original
  1. srand(5);
  2. $i = 0;
  3. $normales = array();
  4. while ($i < 10) {
  5.        $normales[] = rand(0, 1);
  6.        $i++;
  7. }
  8.  
  9. var_dump($normales);

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:32.