mathpack 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13608a0ac181b2222eab166d97b99a0bc7f82093
4
- data.tar.gz: 503d600eca13e830489f2d36c65b19c43b52dd2d
3
+ metadata.gz: d1255723e4f9c2d1da1d1c90653fce743fd400fb
4
+ data.tar.gz: 1e3d47a5464a5998f0f4f45bd3a536a096029cb1
5
5
  SHA512:
6
- metadata.gz: 45b457806935c5925ff5d142e9e8235942a09d1e24480b77d542ef489f850cac80e024d17c62262dfd30a222fd1c773990a5c691987251db9547453c9a6475bd
7
- data.tar.gz: 9ad2a0df6e5a57928d401a33acb884104a81e1a1cf6ef36b5a24ba58a19d4941f7d9219e5a8439f9324a11cb2e69a434edc40a40724d838ec47af8548b9f81a3
6
+ metadata.gz: 09abeba7ee1b21106b305768fa4be24038b9889015c369c663de87ecce9402f6ee80ebb6a8f15e1df2abd94016b6c74dbaabe35372689e988b2f49adac5d500b
7
+ data.tar.gz: c5b965d3b6d2444cee93077e0826704fca0224dbe862cc4cac6fdc0e89c2be3f477f395e6efcac50c99709a64ebdd48d0cedf415e931df0b0bad3ac05e3ca8b1
@@ -1,3 +1,3 @@
1
1
  module Mathpack
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/statistics.rb CHANGED
@@ -1,13 +1,48 @@
1
1
  module Mathpack
2
2
  class Statistics
3
- attr_accessor :series
4
-
5
- def intitialize(series)
3
+ def initialize(series)
6
4
  @series = series
7
5
  end
8
6
 
9
7
  def number
10
8
  @series.length
11
9
  end
10
+
11
+ def mean
12
+ raw_moment(1)
13
+ end
14
+
15
+ def variance
16
+ central_moment(2)
17
+ end
18
+
19
+ def skewness
20
+ central_moment(3) /= variance**1.5
21
+ end
22
+
23
+ def kurtosis
24
+ central_moment(4) / variance ** 2 - 3
25
+ end
26
+
27
+ def max
28
+ @series.max
29
+ end
30
+
31
+ def min
32
+ @series.min
33
+ end
34
+
35
+ def raw_moment(power)
36
+ raw_moment = 0.0
37
+ @series.each{ |x| raw_moment += x**power }
38
+ raw_moment / number
39
+ end
40
+
41
+ def central_moment(power)
42
+ central_moment = 0.0
43
+ m = mean
44
+ @series.each{ |x| central_moment += (x - m)**power }
45
+ central_moment / number
46
+ end
12
47
  end
13
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mathpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - maxmilan