laserIMUCalibration
|
Declarations for Levenberg-Marquardt minimization. More...
#include "lmstruct.h"
Go to the source code of this file.
Macros | |
#define | __BEGIN_DECLS /* empty */ |
#define | __END_DECLS /* empty */ |
Functions | |
__BEGIN_DECLS void | lmmin (int n_par, double *par, int m_dat, const void *data, void(*evaluate)(const double *par, int m_dat, const void *data, double *fvec, int *userbreak), const lm_control_struct *control, lm_status_struct *status) |
Levenberg-Marquardt minimization. More... | |
double | lm_enorm (int, const double *) |
Refined calculation of Eucledian norm. More... | |
Declarations for Levenberg-Marquardt minimization.
Library lmfit (Levenberg-Marquardt least squares fitting)
License FreeBSD
Definition in file lmmin.h.
double lm_enorm | ( | int | , |
const double * | |||
) |
__BEGIN_DECLS void lmmin | ( | int | n_par, |
double * | par, | ||
int | m_dat, | ||
const void * | data, | ||
void(*)(const double *par, int m_dat, const void *data, double *fvec, int *userbreak) | evaluate, | ||
const lm_control_struct * | control, | ||
lm_status_struct * | status | ||
) |
Levenberg-Marquardt minimization.
This routine contains the core algorithm of our library. It minimizes the sum of the squares of m nonlinear functions in n variables by a modified Levenberg-Marquardt algorithm. The function evaluation is done by the user-provided routine 'evaluate'. The Jacobian is then calculated by a forward-difference approximation.
n_par | is the number of variables (INPUT, positive integer). |
par | is the solution vector (INPUT/OUTPUT, array of length n). On input it must be set to an estimated solution. On output it yields the final estimate of the solution. |
m_dat | is the number of functions to be minimized (INPUT, positive integer). It must fulfill m>=n. |
data | is a pointer that is ignored by lmmin; it is however forwarded to the user-supplied functions evaluate and printout. In a typical application, it contains experimental data to be fitted. |
evaluate | is a user-supplied function that calculates the m functions. |
fvec | is an array of length m; on OUTPUT, it must contain the m function values for the parameter vector x. |
userbreak | is an integer pointer. When *userbreak is set to a nonzero value, lmmin will terminate. |
control | contains INPUT variables that control the fit algorithm, as declared and explained in lmstruct.h |
status | contains OUTPUT variables that inform about the fit result, as declared and explained in lmstruct.h |
Definition at line 183 of file lmmin.c.