Sto provando a generare un doppio Gaussian casuale in Objective-C (lo stesso di random.nextGaussian
in Java). Tuttavia, rand_gauss()
non sembra funzionare. Qualcuno sa come raggiungerlo?Generazione di un doppio Gaussiano casuale in Objective-C/C
risposta
This link mostra come calcolarlo utilizzando la funzione standard random()
.
Vorrei sottolineare che è probabile che sia per fare il ranf()
routine che converte l'uscita di random()
da [0,MAX_INT]
di essere da [0,1]
, ma che non dovrebbe essere troppo difficile.
Dalla articolo collegato:
La forma polare della trasformazione di Box-Muller è sia più veloce e numericamente più robusto. La descrizione algoritmica di esso è: 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;
Per 'randf' usa la funzione' drand48() '. Restituisce un doppio nell'intervallo [0, 1). Vedi https://developer.apple.com/library/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man3/drand48.3.html – bcattle
Usa anche la funzione 'log()' per prendere il registro naturale, vedi http: //en.cppreference.com/w/c/numeric/math/log – bcattle
- 1. Generazione di un doppio numero casuale di un certo intervallo in Java
- 2. Generazione casuale UUID casuale
- 3. Generazione di un decimale casuale in C#
- 4. Generazione di un file binario casuale
- 5. Generazione di una stringa casuale
- 6. Generazione casuale numero CUDA
- 7. Generazione casuale di numeri casuali in R
- 8. minuscola generazione ID dall'aspetto casuale
- 9. generazione casuale nella lista FSharp
- 10. TensorFlow: generazione di una costante casuale
- 11. Generazione di un numero casuale di 2^30
- 12. Come ottenere un filtro gaussiano in python
- 13. Generazione di un numero casuale compreso tra più intervalli
- 14. Doppio casuale tra i numeri dati
- 15. Ottenere un doppio valore casuale tra -1 e 1
- 16. asp.net mvc C# generazione casuale stesso numero
- 17. Rumore Java Perlin 2D per generazione casuale di terreni
- 18. Generazione casuale di programmi C con virgola mobile
- 19. Generazione casuale di mappe Python con rumore Perlin
- 20. Generazione di sottolista casuale dall'elenco ordinato che mantiene l'ordine
- 21. Generazione di una schermata predefinita casuale su iOS
- 22. Un algoritmo per la generazione casuale di partizioni intere di una lunghezza particolare, in Python?
- 23. Come arrotondare il doppio al numero intero più vicino e poi convertirlo in float?
- 24. Filtro gaussiano con ombreggiatori OpenGL
- 25. Come adattare un gaussiano ai dati in matlab/ottava?
- 26. Laplaciano di utilizzo del filtro gaussiano
- 27. Come evitare il doppio biforcarsi durante la generazione di javadoc aggregati in un progetto multimodulo
- 28. Generazione di un numero casuale compreso tra 0 e 9 in x86 8086 Assemblaggio
- 29. Come determinare le dimensioni della finestra di un filtro gaussiano
- 30. Differenza tra ".." (punto doppio) e "..." (punto triplo) nella generazione dell'intervallo?
Peccato non ha chiesto, mentre ero al lavoro, ho guardato su e ha scritto un un paio di mesi fa. – Kevin