class SPCore::Calculus
Calculus
analysis methods.
Public Class Methods
derivative(values, dt)
click to toggle source
Differentiates the given values.
@param [Array] values The input value series. @param [Numeric] dt The time differential (i.e. the sample period)
# File lib/spcore/analysis/calculus.rb, line 8 def self.derivative values, dt raise "values.size is <= 2" if values.size <= 2 derivative = Array.new(values.size) for i in 1...values.count derivative[i] = (values[i] - values[i-1]) / dt end derivative[0] = derivative[1] return derivative end
integral(values, dt)
click to toggle source
Integrates the given values.
@param [Array] values The input value series. @param [Numeric] dt The time differential (i.e. the sample period)
# File lib/spcore/analysis/calculus.rb, line 25 def self.integral values, dt raise "values.size is <= 2" if values.size <= 2 integral = Array.new(values.size) integral[0] = values[0] * dt for i in 1...values.count integral[i] = (values[i] * dt) + integral[i-1] end return integral end