Signatur
Beschreibung
stats_rand_gen_ibinomial() ist Teil der PHP-Erweiterung stats und gibt eine zufällige ganze Zahl zurück, die gemäß einer Binomialverteilung B(n, p) verteilt ist. Sie modelliert die Anzahl der Erfolge in einer festen Anzahl unabhängiger Bernoulli-Experimente mit konstanter Erfolgswahrscheinlichkeit.
Die Funktion eignet sich für statistische Simulationen, Monte-Carlo-Methoden und Wahrscheinlichkeitsberechnungen — etwa um zu simulieren, wie viele von n Münzwürfen Kopf zeigen, oder wie viele Produkte einer Charge fehlerhaft sind, wenn die Fehlerrate bekannt ist.
Der Parameter pp muss im Intervall [0, 1] liegen. Der Rückgabewert ist eine ganze Zahl zwischen 0 und n. Das Ergebnis hängt vom internen Zufallsgenerator der stats-Bibliothek ab, der sich von PHPs eigenem mt_rand() unterscheidet.
Hinweis: Diese Funktion setzt die PECL-Erweiterung stats voraus, die nicht standardmäßig in PHP enthalten ist und separat installiert werden muss.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $n Pflicht | int | Anzahl der Versuche (Bernoulli-Experimente). Muss eine nicht-negative ganze Zahl sein. | |
| $pp Pflicht | float | Erfolgswahrscheinlichkeit je Versuch. Muss im Bereich [0.0, 1.0] liegen. |
Rückgabewert
n zurück, die der Anzahl der Erfolge in n Versuchen mit der Erfolgswahrscheinlichkeit pp entspricht.Beispiele
Simulation von Münzwürfen (faire Münze)
<?php
// Simuliert 10 Münzwürfe mit 50% Wahrscheinlichkeit für Kopf
$treffer = stats_rand_gen_ibinomial(10, 0.5);
echo "Anzahl Kopf bei 10 Würfen: " . $treffer . PHP_EOL;
// Ausgabe variiert, z. B.: Anzahl Kopf bei 10 Würfen: 6
Qualitätskontrolle: fehlerhafte Produkte in einer Charge
<?php
// 200 Produkte, 3% Fehlerrate
$anzahlProdukte = 200;
$fehlerRate = 0.03;
$fehlerhaft = stats_rand_gen_ibinomial($anzahlProdukte, $fehlerRate);
echo "Fehlerhafte Produkte in der Charge: " . $fehlerhaft . PHP_EOL;
// Mehrere Simulationsdurchläufe
$ergebnisse = [];
for ($i = 0; $i < 5; $i++) {
$ergebnisse[] = stats_rand_gen_ibinomial($anzahlProdukte, $fehlerRate);
}
echo "5 Simulationsdurchläufe: " . implode(', ', $ergebnisse) . PHP_EOL;
// Wichtig · Fallstricke
Voraussetzung: Die PECL-Erweiterung stats muss installiert und in der php.ini aktiviert sein (extension=stats). Sie ist nicht Teil der Standard-PHP-Distribution.
Gültige Parameterwerte: pp muss zwingend zwischen 0.0 und 1.0 liegen. Werte außerhalb dieses Bereichs können zu undefinierten Ergebnissen oder Fehlern führen. n sollte nicht negativ sein.
Reproduzierbarkeit: Um reproduzierbare Ergebnisse zu erzielen, kann der interne Zufallsgenerator der stats-Erweiterung über stats_rand_setall() mit einem festen Seed initialisiert werden.