Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 22
elcigarra Va por buen camino
Podrías ir guardando los numeros emitidos en algún array generarlos en un bucle tipo While que solo salgan los que no se repitan... El tema es que estos que tu querés hacer son MENOS aleatorios todavía que los generados con el Random pelado. Corrijo a mi amigo crandel: No siempre tienen distribución normal, por lo menos en mi delphi 7 (si mal no recuerdo) hay funciones con algoritmos estadísticos para números aleatorios (o no tan aleatorios) con distribuciones de probabilidad tipo Poisson, "t", rectangulares y otras que a nosotros los pseudo científicos nos sirven de mucho.
Responder Con Cita
  #2  
Antiguo 06-06-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 22
gontxalo Va por buen camino
Se puede cambiar la semilla?

Y no se puede cambiar la semilla para que sea por ejemplo los minutos o segundos .... de cuando se ejecute la aplicación?
Gracias.
Responder Con Cita
  #3  
Antiguo 06-06-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Eso es precisamente lo que hace el procedimiento Randomize

De la ayuda de delphi:
Cita:
Description

Randomize initializes the built-in random number generator with a random value (obtained from the system clock). The random number generator should be initialized by making a call to Randomize, or by assigning a value to RandSeed.
Responder Con Cita
  #4  
Antiguo 06-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Cita:
Empezado por elcigarra
No siempre tienen distribución normal, por lo menos en mi delphi 7 (si mal no recuerdo) hay funciones con algoritmos estadísticos para números aleatorios (o no tan aleatorios) con distribuciones de probabilidad tipo Poisson, "t", rectangulares y otras que a nosotros los pseudo científicos nos sirven de mucho.
podrias comentar como cambiar la distribución de la función random, porque la verdad a mi me resultaria bastante util.

Gracias
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 07-06-2005
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Una sugerencia

personalmente para lograr nros "mas aletorios" realizo lo siguiente:
Código Delphi [-]
Randomize;
X = Random(Random(Dimension))+1;
Siendo Dimensión algún valor demasiado grande.
Espero que pueda serte útil.
Personalmente, esto de cambiar la distribución no se si se pueda... y me enteresa ya que tengo un simulador de tragamonedas que necesita ser más "real"
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 07-06-2005 a las 06:40:19. Razón: Correción en uso de etiquetas
Responder Con Cita
  #6  
Antiguo 07-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Hola Delphius, tu función si modifica la distribución, si no me euquivoco de primera vista parece obtener una distribución exponencial decreciente, lo cual te puede general una gran predominancia de los numeros inferiores.

Esto es facilmente comprobable, simplemente podrias graficar un histograma con 1000 números generados.

Creo que nos fuimos totalmente de la pregunta de gontxalo , pero se puso mas interesante

Despues de escribir el mensaje anterior me acorde que hice un programa para la facultad donde genrabamos valores aleatorios con diferentes distribuciones. Voy a ver si lo encuentro (fue hace bastante) y lo escribo por aca.
__________________
[Crandel]
Responder Con Cita
  #7  
Antiguo 07-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Aca encontre la forma en que generaba los número con diferentes distribuciones:

Uniforme
Código Delphi [-]
   dato := dstandard*Sqrt(12)*(random - 0.5) + vmedio;
Normal
Código Delphi [-]
   dato := dstandard*Sqrt(-2*ln(random))*cos(2*pi*random) + vmedio;

Exponencial
Código Delphi [-]
   dato := dstandard*ln(random)+(vmedio-dstandard);

donde dstandard es la distribución estandar y vmedio es el valor medio requerido.

Lo puede tomar al que le sirva.
__________________
[Crandel]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:32:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi