Zufällige Normalabweichungen in C/C generieren
Zufallszahlen zu generieren, die einer Normalverteilung folgen, ist eine häufige Aufgabe in verschiedenen Anwendungen. In C/C gibt es mehrere Ansätze, um dies zu erreichen, ohne auf externe Bibliotheken wie Boost angewiesen zu sein.
Eine weit verbreitete Methode ist die Box-Muller-Transformation, die zwei gleichmäßig verteilte Zufallszahlen in ein Paar normalverteilter Zahlen umwandelt Zufallszahlen. Die mathematische Formel lautet wie folgt:
x = sqrt(-2 * ln(u1)) * cos(2 * M_PI * u2) y = sqrt(-2 * ln(u1)) * sin(2 * M_PI * u2)
wobei u1 und u2 gleichmäßig verteilte Zufallszahlen im Bereich [0, 1] sind. Um eine einzelne zufällige Normalabweichung zu generieren, generieren Sie mithilfe der Box-Muller-Transformation ein Paar, geben Sie eines davon zurück und speichern Sie das andere für die spätere Verwendung.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der Box-Muller-Transformation zufällige Normalabweichungen in C/C generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!