Class: Skab::Models::Poisson

Inherits:
Object
  • Object
show all
Defined in:
lib/skab/models/poisson.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Poisson

Returns a new instance of Poisson.



5
6
7
8
# File 'lib/skab/models/poisson.rb', line 5

def initialize(args)
  @a = args.shift.to_i
  @b = args.shift.to_i
end

Class Method Details

.helpObject



33
34
35
36
37
38
39
# File 'lib/skab/models/poisson.rb', line 33

def self.help
  <<-USAGE
skab [output] poisson [a] [b]
\tWhere: [a] and [b] are integers
\tPlots the poisson distribution for [a] and [b]
  USAGE
end

Instance Method Details

#differentialObject



22
23
24
25
26
27
28
29
30
31
# File 'lib/skab/models/poisson.rb', line 22

def differential
  return @differential if @differential
  @differential = Hash.new(0)
  (0..limit).each do |a|
    (0..limit).each do |b|
      @differential[b - a] += distribution[b][2] * distribution[a][1]
    end
  end
  @differential
end

#distributionObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/skab/models/poisson.rb', line 10

def distribution
  return @distribution if @distribution
  @distribution = []
  (0..limit).each do |n|
    @distribution[n] = []
    @distribution[n][0] = n
    @distribution[n][1] = normal_approximation(n, a)
    @distribution[n][2] = normal_approximation(n, b)
  end
  @distribution
end