Module: TimeSeriesMath::LinearInterpolation
- Includes:
- ElemwiseOperators
- Defined in:
- lib/time_series_math/linear_interpolation.rb
Instance Method Summary collapse
-
#[](t) ⇒ Object
Returns interpolated value.
Methods included from ElemwiseOperators
#elemwise_add, #elemwise_mul_scalar, #elemwise_sub
Instance Method Details
#[](t) ⇒ Object
Returns interpolated value.
6 7 8 9 10 11 12 13 14 |
# File 'lib/time_series_math/linear_interpolation.rb', line 6 def [](t) i0, i1 = indices_at(t) return first[1] if i0.nil? return last[1] if i1.nil? k = (t - @data[i0][0]) / (@data[i1][0] - @data[i0][0]) diff_value = elemwise_sub(@data[i1][1], @data[i0][1]) elemwise_add(@data[i0][1], elemwise_mul_scalar(k, diff_value)) end |