平均を取るには、データを全部足してデータ数で割るわけだが、 データの足し算の際には、桁落ちで精度を悪くしないように、 float の足し算なら double を使うと言う風にしたほうが良い。 ほかも同様で、多量の足し算や掛け算には桁の多い変数を使用するべきである。
なお、標準偏差を計算する際、普遍推定値 (というのだったかな?) と なるように、N 個のデータから計算する場合には、N-1 で割るという問題は 考慮していない、適宜判断して処理してほしいが、本質的にはそれくらいで 値が変わるような、少ないデータで計算しないというのが正解だと思う。
テキストファイルを読むサンプルに組み合わせて、
平均と標準偏差を求める例 CLICK HERE 。
コンパイルの仕方
gcc -o sample-avestd sample-avestd.c aveatd.c -lm
使い方
sample-avestd data.asc
サンプルデータはここ
玉川 1999