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
Açıklama
Uyarı
Bu işlev hala belgelendirilmemiştir; sadece değiştirge listesi mevcuttur.
Değiştirgeler
-
a -
Dönen Değerler
Daniel Morris (www.danielxmorris.com)
15-Aug-2008 01:51
