PHP函数计算几何标准差

时间:2015-03-19 06:54:33

标签: php arrays

我写了一个函数来计算一组值的几何平均值和几何标准差。我让GM得到了正确的答案。但是GSD是错误的。我在哪里弄错了?

<?php
function geometric_mean($a) {
 foreach($a as $i=>$n) {$mul = $i == 0 ? $n : $mul*$n;}
  $gm= pow($mul,1/count($a));

 foreach($a as $i=>$n) {$gsd = $i == 0 ? $n : $gsd+=pow(log($i/$gm),2);}

 $temp=exp(sqrt($gsd/count($a)));
 return array($gm,$temp);

}

$values=array(12.05,18,24,56,8.9,5.4);

$g=geometric_mean($values);
print_r($g);
?>

在这种情况下,GSD是2.11,但我得到了别的东西

请参阅http://en.wikipedia.org/wiki/Geometric_standard_deviation了解公式

0 个答案:

没有答案