![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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] |
|
#2
|
||||
|
||||
|
Aca encontre la forma en que generaba los número con diferentes distribuciones:
Uniforme Normal
Exponencial
donde dstandard es la distribución estandar y vmedio es el valor medio requerido. Lo puede tomar al que le sirva.
__________________
[Crandel] |
|
#3
|
|||
|
|||
|
Perdón, capaz que estoy equivocado, pero yendo a términos estadísticos una distribución normal de probabilidad referiría a numeros cuya probabilidad de salir aumenta al acercarse al valor medio en forma de campana (para describirlo en palabras simples). Esta sería la famosa campana de Gauss por lo que esta distribución se llama gaussiana. Si se graficaran los numeros aleatorios producidos de esta forma se vería que están más acumulados en el centro y hay unos pocos en los bordes del intervalo. Esto no se obtiene con la función "RandG" de la math unit de delphi. Esta función lleva como parámetros dicho valor medio y la "varianza" que va a dar en cierta forma lo "puntiagudo" de la distribución.
Con la función random no se obtiene esto, sinó números que están ordenados según una distribución de probabilidad "rectangular" (o plana) es decir que cualquier numero en el intervalo tiene la misma probabilidad de salir. Si se grafican éstos van a estar "uniformemente" esparcidos en el intervalo cuando la cantidad es muy grande. |
|
#4
|
|||
|
|||
|
Perdón... donde dije "esto no se obtiene con la función RandG..."
quise decir "esto SE obtiene con la función RandG.. |
|
#5
|
|||
|
|||
|
conseguido
Hola
gracias Ya me funciona, hasta ahora al ejecutar siempre se repetían las series, pero no sabía cambiar la semilla. Ya se ejecuta y no se repiten, ni empiezan con la misma serie. Gracias |
|
#6
|
|||
|
|||
|
Randomize
Hola
Tengo ya un form que genera números aleatorios. Randomize. Según Maeyanes: De la ayuda de delphi: Citar: 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. Randomiza la semilla del reloj. Alguien sabe si la semilla que randomiza es respecto a segundos, centésimas, milésimas.... |
|
#7
|
|||
|
|||
|
Según el código fuente del procedimiento Randomize, este primero trata de obtener el valor del contador de funcionamiento de alta resolución (high-resolution performance counter) con la función QueryPerformanceCounter del API y si falla, usa la función GetTickCount (también del API) la cual obtiene el número de milisegundos que han pasado desde que el sistema se encendió.
Ya con eso te darás una idea de como inicializa la semilla este procedimiento. Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|