Estoy intentando generar un doble gaussiano aleatorio en Objective-C (lo mismo que random.nextGaussian
en Java). Sin embargo, rand_gauss()
parece no funcionar. Alguien sabe una manera de lograr esto?Generando un doble gaussiano aleatorio en Objective-C/C
Respuesta
This link muestra cómo calcularlo utilizando la función estándar random()
.
deben tener en cuenta que es probable que tenga que hacer la rutina ranf()
que convierte la salida de random()
de [0,MAX_INT]
ser de [0,1]
, pero eso no debería ser demasiado difícil.
Desde el artículo enlazado:
La forma polar de la transformación de Box-Muller es a la vez más rápido y numéricamente más robusto. La descripción algorítmica de este es: float x1, x2, w, y1, y2;
do {
x1 = 2.0 * ranf() - 1.0;
x2 = 2.0 * ranf() - 1.0;
w = x1 * x1 + x2 * x2;
} while (w >= 1.0);
w = sqrt((-2.0 * ln(w))/w);
y1 = x1 * w;
y2 = x2 * w;
Para 'randf' use la función' drand48() '. Devuelve un doble en el intervalo [0, 1). Consulte https://developer.apple.com/library/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man3/drand48.3.html – bcattle
También use la función 'log()' para tomar el registro natural, vea http: //en.cppreference.com/w/c/numeric/math/log – bcattle
- 1. Generando un archivo binario aleatorio
- 2. Generando un número aleatorio excluyendo el rango
- 3. generando un número aleatorio con una distribución específica en c
- 4. Generando un gráfico cúbico aleatorio con probabilidad uniforme (o menos)
- 5. Obtener un valor doble aleatorio entre -1 y 1
- 6. Filtro Gaussiano en un vector en Matlab
- 7. Aleatorio no es aleatorio
- 8. Cómo hacer un filtrado gaussiano en 3D
- 9. Filtro Gaussiano 3D en MATLAB
- 10. ¿Cómo redondear el doble al número entero más cercano y luego convertirlo en un flotador?
- 11. Generación de un doble número aleatorio de un cierto rango en Java
- 12. desenfoque gaussiano con FFT
- 13. Implementar Naive Bayes gaussiano
- 14. PHP/GD gaussiano Efecto
- 15. ¿Animar un desenfoque gaussiano usando animación central?
- 16. Generando un árbol en Excel
- 17. generando un MouseEvent en JavaFX
- 18. Generando resultados aleatorios por peso en PHP?
- 19. Filtro gaussiano con OpenGL Shaders
- 20. Java aleatorio siempre está generando una tendencia negativa en el largo plazo?
- 21. HTML5 efecto de desenfoque gaussiano
- 22. Número aleatorio en un bucle
- 23. elemento aleatorio en un mapa
- 24. PHP/GD: Mejor desenfoque gaussiano
- 25. Generando límite multiparte
- 26. Escogiendo un objeto aleatorio en un NSArray
- 27. multiplicar un complejo doble con un doble en Haskell
- 28. Generando un rango de números en MySQL
- 29. Generando un gráfico de llamadas en R
- 30. Generando un identificador global único en Java
lástima que no pidió mientras yo estaba en el trabajo, lo busqué y escribió uno hace un par de meses. – Kevin