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/.