Signatur
Beschreibung
stats_rand_gen_exponential() ist Teil der PECL stats-Erweiterung und gibt eine pseudozufällige Zahl zurück, die gemäß der Exponentialverteilung mit dem Mittelwert (Erwartungswert) av verteilt ist. Die Exponentialverteilung beschreibt häufig Wartezeiten zwischen unabhängigen Ereignissen, die mit konstanter Rate eintreten (z. B. Ankunftszeiten in Warteschlangensystemen).
Der Parameter av entspricht dem Kehrwert der Rate λ (also av = 1/λ). Ein kleinerer Wert bedeutet, dass die erzeugten Zufallszahlen im Durchschnitt kleiner sind, d. h. die Ereignisse häufiger auftreten.
Die Funktion eignet sich vor allem für Simulationen, statistische Tests und stochastische Modellierungen, bei denen exponentiell verteilte Zufallsvariablen benötigt werden. Sie setzt voraus, dass die PECL-Erweiterung stats installiert und aktiviert ist.
Da alle Ausgabewerte nicht-negativ sind und der theoretische Wertebereich [0, ∞) umfasst, ist die Funktion nicht für Anwendungsfälle geeignet, bei denen negative Zufallszahlen erwartet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $av Pflicht | float | Der Erwartungswert (Mittelwert) der Exponentialverteilung. Muss positiv sein (av > 0). Entspricht 1/λ, wobei λ die Rate der Verteilung ist. |
Rückgabewert
av folgt. Der Rückgabewert liegt im Bereich [0, ∞).Beispiele
Einzelne exponentialverteilte Zufallszahl erzeugen
<?php
// Erwartet PECL-Erweiterung 'stats'
// Erzeugt eine Zufallszahl mit Erwartungswert 2.0
$av = 2.0;
$zufallszahl = stats_rand_gen_exponential($av);
echo "Zufallszahl (Exp-Verteilung, av={$av}): " . $zufallszahl . PHP_EOL;
?>
Empirischen Mittelwert durch wiederholte Ziehung schätzen
<?php
// Erwartet PECL-Erweiterung 'stats'
// Prüft, ob der empirische Mittelwert gegen av konvergiert
$av = 5.0;
$n = 100000;
$summe = 0.0;
for ($i = 0; $i < $n; $i++) {
$summe += stats_rand_gen_exponential($av);
}
$empirischerMittelwert = $summe / $n;
echo "Erwarteter Mittelwert: {$av}" . PHP_EOL;
echo "Empirischer Mittelwert: " . round($empirischerMittelwert, 4) . PHP_EOL;
?>
// Wichtig · Fallstricke
Voraussetzung: Die Funktion ist nicht im PHP-Kern enthalten, sondern Teil der PECL-Erweiterung stats. Ohne diese Erweiterung führt ein Aufruf zu einem schwerwiegenden Fehler (Fatal Error).
Ungültige Parameter: Der Parameter av muss positiv sein. Ein Wert von 0 oder negativ ist mathematisch nicht definiert und kann zu unerwarteten Ergebnissen oder Fehlern führen.
Reproduzierbarkeit: Da die Funktion auf dem internen Zufallszahlengenerator der stats-Erweiterung basiert, kann die Sequenz über stats_rand_setall() initialisiert werden, um reproduzierbare Ergebnisse zu erhalten.