Mit PHP "median" berechnen

Ruediger

Erfahrenes Mitglied
Hallo zusammen,

kennt jemand eine php-Funktion mit der ich den median berechnen kann? Bin in der Doku und über google leider nicht fündig geworden.

Gruß
Rue
 
Nein, PHP hat keine eingebaute Funktion zum Berechnen des Medians. Ist aber kein Problem, so etwas selbst zu schreiben.
@Hawkster: Der Median ist vereinfacht ausgedrückt der mittlere Wert zwischen zwei Hälften von Werten. Bei einer Gleichverteilung fällt er mit dem arithmetischen Mittel zusammen. Vielleicht sagt dir der Ausdruck 50%-Quantil etwas..
 
Also, damit ich das richtig verstehe, das ist sozusagen der durchschnitt

von 2 und 6 is der median 4 oder?

und von 6, 3 und 9 is der median dann 6 oder?


MFG Hawkster
 
Nein, es ist eben nicht der Durchschnitt. Nur bei einer Gleichverteilung fallen Durchschnitt und Median zusammen. Bei dem Link von Gumbo ist es aber ganz gut erklärt.
Denkanstoss:
Daten in ein Array sortiert einlesen, Größe des Arrays bestimmen und dann hast du schon fast den Median..
 
Ich hab mal etwas ausprobiert:
PHP:
<?php

	function merdian( $array = array() ) {

		$count = count($array);

		if( $count <= 0 ) {
			return false;
		}

		sort(&$array, SORT_NUMERIC);

		if( $count % 2 == 0 ) {
			return ( $array[floor($count/2)-1] + $array[floor($count/2)] ) / 2;
		} else {
			return $array[$count/2];
		}

	}

	echo merdian( array(3, 5, 0, 68, 103) );

?>
Es ist jedoch nur mit fortlaufenden numerischen Schrlüsseln (beginnend bei Null) möglich.
 
Zurück