Signatur
Beschreibung
Die Funktion stats_dens_uniform aus der PECL-Erweiterung stats berechnet den Wert der Wahrscheinlichkeitsdichtefunktion (PDF) der kontinuierlichen Gleichverteilung (Uniform Distribution) an einer gegebenen Stelle x.
Bei einer Gleichverteilung auf dem Intervall [a, b] ist die Dichte für alle x innerhalb dieses Intervalls konstant und beträgt 1 / (b - a). Außerhalb des Intervalls ist die Dichte 0. Dies macht die Funktion nützlich, wenn alle Ereignisse innerhalb eines bestimmten Bereichs gleich wahrscheinlich sind.
Typische Anwendungsfälle sind statistische Simulationen, Wahrscheinlichkeitsberechnungen für gleichmäßig verteilte Zufallsvariablen sowie die Grundlage für komplexere Wahrscheinlichkeitsmodelle. Die Funktion setzt voraus, dass a < b gilt; andernfalls kann das Ergebnis undefiniert oder fehlerhaft sein.
Voraussetzung für die Nutzung ist die Installation der PECL-Erweiterung stats, die nicht standardmäßig in PHP enthalten ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $x Pflicht | float | Die Stelle, an der die Wahrscheinlichkeitsdichte berechnet wird. | |
| $a Pflicht | float | Die untere Grenze des Intervalls der Gleichverteilung. Es muss a < b gelten. |
|
| $b Pflicht | float | Die obere Grenze des Intervalls der Gleichverteilung. Es muss b > a gelten. |
Rückgabewert
x zurück. Für x innerhalb [a, b] ist der Wert 1 / (b - a), außerhalb des Intervalls ist er 0.0.Beispiele
Dichte innerhalb und außerhalb des Intervalls
<?php
// Gleichverteilung auf dem Intervall [2, 6]
$a = 2.0;
$b = 6.0;
// Punkt innerhalb des Intervalls
$x1 = 4.0;
$dichte1 = stats_dens_uniform($x1, $a, $b);
echo "Dichte bei x={$x1}: " . $dichte1 . PHP_EOL;
// Erwarteter Wert: 1 / (6 - 2) = 0.25
// Punkt außerhalb des Intervalls
$x2 = 10.0;
$dichte2 = stats_dens_uniform($x2, $a, $b);
echo "Dichte bei x={$x2}: " . $dichte2 . PHP_EOL;
// Erwarteter Wert: 0
Vergleich mehrerer Punkte auf der Gleichverteilung
<?php
// Gleichverteilung auf [0, 10]
$a = 0.0;
$b = 10.0;
$punkte = [0.0, 2.5, 5.0, 7.5, 10.0, 12.0];
foreach ($punkte as $x) {
$dichte = stats_dens_uniform($x, $a, $b);
printf("x = %5.1f => Dichte = %.4f\n", $x, $dichte);
}
// Wichtig · Fallstricke
Achtung: Die Funktion stats_dens_uniform ist Teil der PECL-Erweiterung stats und nicht in einer Standard-PHP-Installation enthalten. Sie muss separat installiert werden (pecl install stats).
Es ist zwingend erforderlich, dass a < b gilt. Wird a >= b übergeben, kann es zu einer Division durch null oder einem undefiniertem Verhalten kommen. Eine Validierung der Eingabeparameter vor dem Aufruf wird dringend empfohlen.
Da es sich um eine Dichtefunktion handelt, liefert sie keinen direkten Wahrscheinlichkeitswert für einen einzelnen Punkt, sondern die relative Häufigkeit in einem infinitesimalen Bereich um x. Für Wahrscheinlichkeiten über ein Intervall ist die kumulative Verteilungsfunktion (CDF) zu verwenden, z. B. stats_cdf_uniform.