Signatur
Beschreibung
Das harmonische Mittel ist ein spezieller Durchschnittswert, der besonders dann sinnvoll ist, wenn man Raten oder Verhältnisse mittelt – beispielsweise Geschwindigkeiten, Frequenzen oder Preise pro Einheit. Es wird berechnet als der Kehrwert des arithmetischen Mittels der Kehrwerte aller Werte: n / (1/x₁ + 1/x₂ + … + 1/xₙ).
stats_harmonic_mean() ist Teil der PECL-Erweiterung stats und steht daher nur zur Verfügung, wenn diese Erweiterung installiert und aktiviert ist. Die Funktion nimmt ein Array numerischer Werte entgegen und liefert das harmonische Mittel als Fließkommazahl zurück.
Typische Anwendungsfälle sind: Berechnung der Durchschnittsgeschwindigkeit bei gleichen zurückgelegten Strecken, Mittelung von Preiskoeffizienten oder allgemein Situationen, in denen kleinere Werte stärker gewichtet werden sollen als beim arithmetischen Mittel.
Wichtig: Da die Kehrwerte aller Elemente berechnet werden, darf kein Element den Wert 0 haben, da sonst eine Division durch null auftreten würde.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $data Pflicht | array | Ein Array mit numerischen Werten (int oder float), für die das harmonische Mittel berechnet werden soll. Alle Werte müssen ungleich 0 sein, da sonst eine Division durch null stattfindet. |
Rückgabewert
float zurück. Bei einem leeren Array oder einem Array, das den Wert 0 enthält, ist das Verhalten undefiniert bzw. führt zu einem Fehler.Beispiele
Harmonisches Mittel einfacher Werte
<?php
// Berechnung des harmonischen Mittels von 1, 2, 4
$werte = [1, 2, 4];
$hm = stats_harmonic_mean($werte);
echo "Harmonisches Mittel: " . $hm;
// Formel: 3 / (1/1 + 1/2 + 1/4) = 3 / (1 + 0.5 + 0.25) = 3 / 1.75 ≈ 1.7143
Durchschnittsgeschwindigkeit bei gleichen Strecken berechnen
<?php
// Ein Fahrzeug fährt dieselbe Strecke dreimal mit unterschiedlichen Geschwindigkeiten
// Geschwindigkeiten in km/h
$geschwindigkeiten = [60, 80, 120];
$durchschnitt_harmonisch = stats_harmonic_mean($geschwindigkeiten);
$durchschnitt_arithmetisch = array_sum($geschwindigkeiten) / count($geschwindigkeiten);
echo "Harmonisches Mittel: " . round($durchschnitt_harmonisch, 4) . " km/h" . PHP_EOL;
echo "Arithmetisches Mittel: " . round($durchschnitt_arithmetisch, 4) . " km/h" . PHP_EOL;
// Bei gleichen Strecken ist das harmonische Mittel die korrekte Durchschnittsgeschwindigkeit
// Wichtig · Fallstricke
PECL-Erweiterung erforderlich: stats_harmonic_mean() ist nicht im PHP-Kern enthalten. Die Erweiterung pecl/stats muss installiert sein (pecl install stats) und in der php.ini mit extension=stats aktiviert werden.
Kein Nullwert erlaubt: Enthält das Array einen Wert von 0, führt die Berechnung des Kehrwerts zu einer Division durch null. Stellen Sie vor dem Aufruf sicher, dass kein Element 0 ist.
Negative Werte: Mathematisch ist das harmonische Mittel in vielen Definitionen nur für positive Zahlen definiert. Negative Werte können zu unerwarteten oder bedeutungslosen Ergebnissen führen.