I find myself searching for the algorithm for standard deviation surprisingly often.

I find myself searching for the algorithm for standard deviation surprisingly often. Given a column of numbers on stdin, one per line:

perl -ne ‘$n++; $d=$_-$mean; $mean+=$d/$n; $s+=$d*($_-$mean); END { printf “N %d, avg %g, stddev %g\n”, $n, $mean, sqrt($s)}’

N 6, avg 144, stddev 286.269

http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#On-line_algorithm