class StochasticProcess::Base
Constants
- DEFAULT_END_TIME
- DEFAULT_EVALUATIONS
- DEFAULT_START_TIME
Attributes
evaluations[RW]
Public Class Methods
new(initial_position: 0.0, start_time: DEFAULT_START_TIME, end_time: DEFAULT_END_TIME, evaluations: DEFAULT_EVALUATIONS, path_increment: method(:default_path_increment))
click to toggle source
# File lib/stochastic_process/base.rb, line 9 def initialize(initial_position: 0.0, start_time: DEFAULT_START_TIME, end_time: DEFAULT_END_TIME, evaluations: DEFAULT_EVALUATIONS, path_increment: method(:default_path_increment)) @initial_position = initial_position @start_time = start_time @end_time = end_time @evaluations = evaluations @path_increment = path_increment end
Public Instance Methods
default_path_increment()
click to toggle source
# File lib/stochastic_process/base.rb, line 21 def default_path_increment return 0 end
graph()
click to toggle source
# File lib/stochastic_process/base.rb, line 40 def graph a = [] m = mesh() a.push({x: @start_time, y: @initial_position}) @evaluations.times do |i| # iterates from 0 to @evaluations - 1 a.push({x: @start_time + (i + 1) * m, y: a[i][:y] + @path_increment.call}) end return a end
interval_length()
click to toggle source
# File lib/stochastic_process/base.rb, line 25 def interval_length (@end_time - @start_time).abs.to_f end
mesh()
click to toggle source
# File lib/stochastic_process/base.rb, line 29 def mesh interval_length / @evaluations end
mesh=(m)
click to toggle source
# File lib/stochastic_process/base.rb, line 33 def mesh=(m) if m <= 0 raise("Only positive numbers allowed!") end @evaluations = interval_length / m.to_f end