質問: v($values); return r(sqrt($variance)); } ``` 関数名考えるのめんどくさくて、とりあえずの名前でやっています。わかりづらい名前ですみません。 これで、たとえば ``` echo s(array(14.81, 15.67, 15.07, 15.75, 16, 16.89)); ``` とやると、`0.67`が出力されるのですが、正しい標準偏差は`0.73`です。 自分でもいろいろと考えてみたのですが、わかりませんでした。 よろしくお願いします。
回答: 標本分散を求めるところは、2乗和をn-1で除算するとおもうのですが、nで除算しています 以下のコードで、標準偏差が求められると思います ``` function v($values) { $ave = h($values); $variance = 0.0; foreach ($values as $val) { $variance += pow($val - $ave, 2); } return r($variance / (count($values) - 1)); // ここ修正 } ```