Class: Malge::ErrorFittedFunction::AExpBX
- Inherits:
-
Malge::ErrorFittedFunction
- Object
- Malge::ErrorFittedFunction
- Malge::ErrorFittedFunction::AExpBX
- Defined in:
- lib/malge/errorfittedfunction/aexpbx.rb
Overview
NOTE: @coefficients might become negative value. Need discussion for dealing?
NOTE: Zero value for |y - y_last| is simply ignored due to impossible log evaluation.
Instance Attribute Summary
Attributes inherited from Malge::ErrorFittedFunction
#coefficients, #diff_abs_pairs, #raw_pairs
Instance Method Summary collapse
- #equation ⇒ Object
- #expected_error(x) ⇒ Object
- #fit ⇒ Object
- #most_strict_pair ⇒ Object
- #x(y) ⇒ Object
Methods inherited from Malge::ErrorFittedFunction
Constructor Details
This class inherits a constructor from Malge::ErrorFittedFunction
Instance Method Details
#equation ⇒ Object
24 25 26 |
# File 'lib/malge/errorfittedfunction/aexpbx.rb', line 24 def equation sprintf("f(x) = %f \* exp(%f \* x)", * @coefficients) end |
#expected_error(x) ⇒ Object
28 29 30 |
# File 'lib/malge/errorfittedfunction/aexpbx.rb', line 28 def expected_error(x) @coefficients[0] * Math::exp( @coefficients[1] * x) end |
#fit ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/malge/errorfittedfunction/aexpbx.rb', line 13 def fit inv_pairs = @diff_abs_pairs.map {|pair| x = pair[0] y = Math::log(pair[1]) [x,y] } inv_pairs.delete_if {|pair| ! pair[1].finite?} @coefficients = Malge::LeastSquare.least_square_1st_degree(inv_pairs) @coefficients[0] = Math::exp @coefficients[0] end |
#most_strict_pair ⇒ Object
41 42 43 |
# File 'lib/malge/errorfittedfunction/aexpbx.rb', line 41 def most_strict_pair @raw_pairs.max_by{ |pair| pair[0] } end |