php 标准差

/**
 * 得到数组的标准差
 * @param unknown type $avg
 * @param Array $list
 * @param Boolen $isSwatch
 * @return unknown type
 */
public static  function getVariance($avg, $list, $isSwatch  = FALSE) {
        $arrayCount = count($list);
        if($arrayCount == 1 && $isSwatch == TRUE){
                return FALSE;
        }elseif($arrayCount > 0 ){
                $total_var = 0;
                foreach ($list as $lv)
                        $total_var += pow(($lv - $avg), 2);
                if($arrayCount == 1 && $isSwatch == TRUE)
                        return FALSE;
                return $isSwatch?sqrt($total_var / (count($list) - 1 )):sqrt($total_var / count($list));
        }
        else
                return FALSE;
}

posted @ 2011-04-13 13:32  春哥也编程  阅读(3182)  评论(0编辑  收藏  举报