casa
$Rev:20696$
|
Solve non-linear fit with Levenberg-Marquardt method.
#include <NonLinearFitLM.h>
Public Member Functions | |
NonLinearFitLM (Bool svd=False) | |
Create a fitter: the normal way to generate a fitter object. | |
NonLinearFitLM (const NonLinearFitLM &other) | |
Copy constructor (deep copy) | |
NonLinearFitLM & | operator= (const NonLinearFitLM &other) |
Assignment (deep copy) | |
virtual | ~NonLinearFitLM () |
Destructor. | |
Protected Member Functions | |
virtual Bool | fitIt (Vector< typename FunctionTraits< T >::BaseType > &sol, const Array< typename FunctionTraits< T >::BaseType > &x, const Vector< typename FunctionTraits< T >::BaseType > &y, const Vector< typename FunctionTraits< T >::BaseType > *const sigma, const Vector< Bool > *const mask=0) |
Generalised fitter. | |
Private Attributes | |
Double | lamda_p |
The parameter that makes this the Levenberg-Marquardt method. | |
Double | fitit_p |
The current fit state. |
Solve non-linear fit with Levenberg-Marquardt method.
This class uses the Levenberg-Marquardt method to solve the non-linear least-squares fit problem hence NonLinearFitLM
NOTE: Constraints added. Documentation out of date at moment, check the tLinearFitSVD and tNonLinearFirLM programs for examples.
See the NonLinearFit class for a general description.
This class is derived from the general NonLinearFit class. It does a non-linear least-squares fit using the Levenberg-Marquardt method.
See Numerical Recipes for more information on the Levenberg-Marquardt method.
Levenberg-Marquardt method is a standard method for non-linear least-squares fits. It works well in practice over a wide range of problems.
Definition at line 87 of file NonLinearFitLM.h.
casa::NonLinearFitLM< T >::NonLinearFitLM | ( | Bool | svd = False | ) | [explicit] |
Create a fitter: the normal way to generate a fitter object.
Necessary data will be deduced from the Functional provided with setFunction()
. Optionally, a fitter with SVD behaviour
casa::NonLinearFitLM< T >::NonLinearFitLM | ( | const NonLinearFitLM< T > & | other | ) |
Copy constructor (deep copy)
virtual casa::NonLinearFitLM< T >::~NonLinearFitLM | ( | ) | [virtual] |
Destructor.
virtual Bool casa::NonLinearFitLM< T >::fitIt | ( | Vector< typename FunctionTraits< T >::BaseType > & | sol, |
const Array< typename FunctionTraits< T >::BaseType > & | x, | ||
const Vector< typename FunctionTraits< T >::BaseType > & | y, | ||
const Vector< typename FunctionTraits< T >::BaseType > *const | sigma, | ||
const Vector< Bool > *const | mask = 0 |
||
) | [protected, virtual] |
Generalised fitter.
Implements casa::NonLinearFit< T >.
NonLinearFitLM& casa::NonLinearFitLM< T >::operator= | ( | const NonLinearFitLM< T > & | other | ) |
Assignment (deep copy)
Double casa::NonLinearFitLM< T >::fitit_p [private] |
The current fit state.
Definition at line 119 of file NonLinearFitLM.h.
Double casa::NonLinearFitLM< T >::lamda_p [private] |
The parameter that makes this the Levenberg-Marquardt method.
Definition at line 117 of file NonLinearFitLM.h.