Standard Deviation

Work out std for a set and check if values fall within std ranges.

HTML

<h1>Results</h1>
<div id="results">
</div>

CSS

body {
 font-family: 'Bitstream Vera Sans Mono','Courier',monospace; 
 font-size: 12px;
 line-height: 1.4;
}

h1 {
  color: #D14;
}

JavaScript

var array         = [20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000,19.9980,20.0050,20.0000];
var within_std_of = 3;

outputResult = function(str) {
  var content = $('#results').html();
  $('#results').html(content + str);
}

average = function(a) {
  var r = {mean: 0, variance: 0, deviation: 0}, t = a.length;
  for(var m, s = 0, l = t; l--; s += a[l]);
  for(m = r.mean = s / t, l = t, s = 0; l--; s += Math.pow(a[l] - m, 2));
  return r.deviation = Math.sqrt(r.variance = s / t), r;
  
}
    
withinStd = function(mean, val, stdev) {
   var low = mean-(stdev*x.deviation);
   var hi = mean+(stdev*x.deviation);
   return (val > low) && (val < hi);
}
  
outputResult("Set = [" + array.concat(',') + "]<br/><br/>");

var x = average(array);
outputResult(
    "mean      = " + x.mean.toFixed(4) + "<br />" +
    "deviation = " + x.deviation + "<br />" +
    "variance  = " + x.variance + "<br /><br />"
);