我在計算php中的標準偏差時遇到了問題。但它產生了錯誤的結果。PHP中的錯誤標準偏差結果
例如我得到的結果是(4 + 4 + 4 + 4 + 4 + 4)= 1.40而不是0.
請幫忙。
function std_dev ($attr, $test1,$test2,$test3,$test4,$test5,$test6) {
//$items = array($test1->$attr,$test2->$attr,$test3->$attr,$test4->$attr,$test5->$attr,$test6->$attr);
$items[] = array();
if (isset($test1) && $test1->$attr != 9 && $test1->$attr != 0) {
$items[] = $test1->$attr;
}
if (isset($test2) && $test2->$attr != 9 && $test2->$attr != 0) {
$items[] = $test2->$attr;
}
if (isset($test3) && $test3->$attr != 9 && $test3->$attr != 0) {
$items[] = $test3->$attr;
}
if (isset($test4) && $test4->$attr != 9 && $test4->$attr != 0) {
$items[] = $test4->$attr;
}
if (isset($test5) && $test5->$attr != 9 && $test5->$attr != 0) {
$items[] = $test5->$attr;
}
if (isset($test6) && $test6->$attr != 9 && $test6->$attr != 0) {
$items[] = $test6->$attr;
}
$sample_square[] = array();
$item_count = count($items);
for ($current = 1; $item_count > $current; ++$current) $sample_square[$current] = pow($items[$current], 2);
$standard_deviation = sqrt(array_sum($sample_square)/$item_count - pow((array_sum($items)/$item_count), 2));
return round($standard_deviation,2);
}
你做了什麼來調試你的代碼? –
沒有人從來沒有學過它。我會在今天之後嘗試學習它。 –