Advertisement
Guest User

Untitled

a guest
Apr 20th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. var math = require('mathjs');
  2.  
  3. // An array to test
  4. var test = [100,11234,556,.445,.556];
  5.  
  6. /**
  7. * returns the geometric mean of an array
  8. * @param {array} datas an array on n length
  9. * @return {float} the geometric mean of that array
  10. */
  11. var geometricMean = function(datas) {
  12.  
  13. var newDatas = datas.reduce(function(a, b){
  14. return a*b;
  15. });
  16.  
  17. return math.pow(newDatas, 1/datas.length)
  18.  
  19. };
  20.  
  21. /**
  22. * [harmonicMean description]
  23. * @param {array} dataSet an array of N length of numbers
  24. * @return {float} the harmonic mean of that array
  25. */
  26. var harmonicMean = function(dataSet) {
  27.  
  28. var numerator = dataSet.length;
  29.  
  30. var denominator = test.map(function(num){
  31. return 1/num;
  32. }).reduce(function(a, b){
  33. return a+b;
  34. });
  35.  
  36. return numerator/denominator;
  37. }
  38.  
  39.  
  40.  
  41. console.log(harmonicMean(test));
  42. //1.2322434522705703
  43. console.log(geometricMean(test));
  44. //43.43189740303425
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement