Erzeugung normalverteilter Zufallszahlen in Excel nach dem Box-Muller-Verfahren

Sind u1 und u2 zwei unabhängige Standardzufallszahlen aus einer Rechteckverteilung mit den Parametern
0 und 1, dann wird mit

eine standardnormalverteile Zufallszahl z erzeugt. Die Transformation

erzeugt eine Zufallszahl x aus einer Normalverteilung mit den Parametern µ (Erwartungswert)
und σ² (Varianz).


Parameter der Normalverteilung

Erwartungswert µ Sigma σ Anzahl Ziehungen
Histogramm
 

Excel VBA-Programmcode

Private Function Zufallszahl(ByVal Erwartungswert As Double, ByVal Sigma As Double) As Double
   Dim u1 As Double, u2 As Double, z As Double
   u1 = Rnd
   u2 = Rnd
   z = Sqr(-2 * Application.WorksheetFunction.Ln(1-u1)) * Cos(2 * Pi * u2)
   Zufallszahl = Erwartungswert + Sigma * z
End Function


Excel-Beispieldatei

Artikel "Stress-Test" mit Zufallsgenerator und Excel für vertraute Messgrößen im Strahlenschutz (Strahlenschutzpraxis Heft 3/2015)