Start · Sprachen · PHP · Referenz · stats_stat_powersum

stats_stat_powersum

Funktion

Berechnet die Potenzsumme eines Vektors, d. h. die Summe aller Elemente jeweils erhöht auf den Exponenten <code>exp</code>.

Kategorie: math

Signatur

stats_stat_powersum(array $arr, float $exp): float

Beschreibung

stats_stat_powersum ist Teil der PECL-Erweiterung stats und berechnet die Potenzsumme (englisch: power sum) eines numerischen Arrays. Dabei wird jedes Element des Arrays auf den angegebenen Exponenten potenziert und anschließend aufsummiert: ∑ x_i^exp.

Diese Funktion ist nützlich in der deskriptiven Statistik und für numerische Berechnungen, bei denen Momente oder andere potenzbasierte Kennzahlen benötigt werden. Zum Beispiel ergibt ein Exponent von 1 die einfache Summe, 2 die Summe der Quadrate usw.

Die Funktion eignet sich in Kombination mit anderen stats_*-Funktionen, etwa zur Berechnung von Varianz, Schiefe oder Kurtosis eines Datensatzes.

Parameter

Name Typ Default Beschreibung
$arr Pflicht array Eindimensionales Array mit numerischen Werten, dessen Potenzsumme berechnet werden soll.
$exp Pflicht float Der Exponent, auf den jedes Element des Arrays potenziert wird. Typische Werte sind 1 (Summe), 2 (Summe der Quadrate) usw.

Rückgabewert

Typ
float
Beschreibung
Gibt die Potenzsumme ∑ x_i^exp als Gleitkommazahl zurück. Bei einem leeren Array wird 0.0 zurückgegeben.

Beispiele

Einfache Potenzsumme (Summe der Quadrate)

<?php
// Benötigt die PECL-Erweiterung 'stats'
$data = [1, 2, 3, 4, 5];

// Exponent 2 => 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 1 + 4 + 9 + 16 + 25 = 55
$powersum = stats_stat_powersum($data, 2);
echo "Summe der Quadrate: " . $powersum . PHP_EOL;
Summe der Quadrate: 55

Potenzsumme mit verschiedenen Exponenten

<?php
// Benötigt die PECL-Erweiterung 'stats'
$data = [2, 4, 6, 8];

// Exponent 1 => einfache Summe: 2+4+6+8 = 20
echo "Exp 1 (Summe):          " . stats_stat_powersum($data, 1) . PHP_EOL;

// Exponent 2 => Summe der Quadrate: 4+16+36+64 = 120
echo "Exp 2 (Summe d. Quadr.): " . stats_stat_powersum($data, 2) . PHP_EOL;

// Exponent 3 => Summe der Kuben: 8+64+216+512 = 800
echo "Exp 3 (Summe d. Kuben):  " . stats_stat_powersum($data, 3) . PHP_EOL;
Exp 1 (Summe): 20 Exp 2 (Summe d. Quadr.): 120 Exp 3 (Summe d. Kuben): 800

// Wichtig · Fallstricke

PECL-Abhängigkeit: stats_stat_powersum ist keine eingebaute PHP-Funktion, sondern Teil der PECL-Erweiterung stats. Sie muss separat installiert werden (pecl install stats).

Bei negativen Exponenten und Elementen gleich 0 kann es zu einer Division durch null oder zu INF/NAN-Werten kommen. Stelle sicher, dass das übergebene Array nur für den gewählten Exponenten gültige Werte enthält.

Das Array wird intern linear durchlaufen; assoziative Schlüssel werden ignoriert, nur die Werte fließen in die Berechnung ein.