Okay on Standard Deviation..

One segment I'm trying to change is:

@arr.each do |a|
  n += ((a - mean)**2)
  std = Math.sqrt(n / @size)
end

into something like this...?

Math.sqrt( (@arr.inject {|a,b| ((a - @mean)**2) + ((b - @mean)**2) }) / 
@size)

.. but I don't think I have the inject working properly..

From my understanding of inject, using above..

a = first instance of array
b = subsequent instances of array

so if @arr = [1,2,3,4,5]

@arr.inject {|a,b| ((a - @mean)**2) + ((b - @mean)**2)}
1-@mean**2 ..reference for a
+
2-@mean**2 ..reference for b
+
3-@mean**2 ..reference for b
+
4-@mean**2 ..reference for b
+
5-@mean**2 ..reference for b
---------
array finished..

Correct?


-- 
Posted via http://www.ruby-forum.com/.