> Ausserdem benoetige ich in gleichem Zusammenhang noch Poissonverteilte
> Zufallszahlen .
Für jede Mathematica bekannte Verteilung kann man einfach Zufallszahlen
erzeugen. Sie finden die bekannten Verteilungen in den Statistik-
Standardpaketen Statistics`DiscreteDistributions` und
Statistics`ContinuousDistributions`, also
Needs["Statistics`DiscreteDistributions`"]
poisson = PoissonDistribution[3.5];
Random[poisson]
4
Table[Random[poisson],{10}]
{6,1,6,1,3,0,4,4,2,2}
Allgemein können Sie für jede Verteilung, von der sie die inverse
kumulative Dichtefunktion kennen, Zufallszahlen erzeugen. Als einfaches
Beispiel die Normalverteilung. Die kumulative Dichte ist
cdf[x_] := (1 + Erf[x/Sqrt[2]])/2
Berechnung der Inversen:
Solve[cdf[x]==y,x]
{{x -> Sqrt[2] InverseErf[0, -1 + 2 y]}}
idf[y_]=x /. %[[1]]
Sqrt[2] InverseErf[0, -1 + 2 y]
Damit gleichverteilte [0,1] Zufallszahlen transformieren:
idf[Random[]]
-0.571867
Roman Mäder
-----------------------------------------------------------------------
MathConsult Dr. R. Mäder Samstagernstrasse 58a
Mathematik- und Informatik-Beratung CH-8832 Wollerau
T: +41-1-687 4050 mailto:maeder@XXXXXXX.ch
F: +41-1-687 4054 http://www.mathconsult.ch/
-----------------------------------------------------------------------
|