I wrote this to calculate harmonic averages in my shares program. Hopefully this can help someone who doesn't want to use PECL. The function accepts an unlimited number of arguments without the need to place them into an array, which is better than the way the PECL extension handles the function.
<?php
/**
* @author Daniel Morris
*/
function harmonic () {
$num_args = func_num_args ();
for ($i = 0; $i < $num_args; $i++) {
$sum += 1 / func_get_arg ($i);
}
return $num_args / $sum;
}
// Tests
echo harmonic (1, 2, 3, 4, 5);
echo harmonic (-1, 3, 4, 10293);
echo harmonic (-1, -2, -3, -4, -5);
// 2.1897810218978
// -9.6022389365052
// -2.1897810218978
?>
stats_harmonic_mean
(PECL stats >= 1.0.0)
stats_harmonic_mean — Returns the harmonic mean of an array of values
Opis
Ostrzeżenie
Ta funkcja jest obecnie nieudokumentowana, dostępna jest jedynie lista jej argumentów.
Parametry
-
a -
Zwracane wartości
Daniel Morris (www.danielxmorris.com)
15-Aug-2008 07:51
