Guest User

Untitled

a guest
Jun 18th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. # Examples
  2. # [1,1,2,1,1,2,2].moving_average(2) => [1, 1, 1, 2]
  3.  
  4. class Array
  5. # Calculates the moving average
  6. # given a Integer as a increment period
  7. def moving_average(increment = 1)
  8. return self.average if increment == 1
  9. a = self.dup
  10. result = []
  11. while(!a.empty?)
  12. data = a.slice!(0,increment)
  13. result << data.average
  14. end
  15. result
  16. end
  17.  
  18. # Calculates the average
  19. def average
  20. (self.sum/self.size)
  21. end
  22. end
Add Comment
Please, Sign In to add comment