Start · Sprachen · PHP · Referenz · stats_dens_uniform

stats_dens_uniform

Funktion

Berechnet die Wahrscheinlichkeitsdichte der kontinuierlichen Gleichverteilung an der Stelle <code>x</code> im Intervall [<code>a</code>, <code>b</code>].

Kategorie: math

Signatur

stats_dens_uniform(float $x, float $a, float $b): float

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

Typ
float
Beschreibung
Gibt den Wert der Wahrscheinlichkeitsdichtefunktion an der Stelle 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
Dichte bei x=4: 0.25 Dichte bei x=10: 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);
}
x = 0.0 => Dichte = 0.1000 x = 2.5 => Dichte = 0.1000 x = 5.0 => Dichte = 0.1000 x = 7.5 => Dichte = 0.1000 x = 10.0 => Dichte = 0.1000 x = 12.0 => Dichte = 0.0000

// 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.