What is it? | |
curvefit is a C program that will read in x,y dataset files and attempt
to find the best-fit parameters for a mathematical model. It uses the
Levenberg-Marquardt method of nonlinear regression.
curvefit is just wrapper code around existing Levenberg-Marquardt code that was translated into C by Stephen Moshier from the original MINPACK FORTRAN version, written by Argonne National Laboratories (a long time ago). |
|
Who should use it? | |
There are no guarantees as to the accuracy or precision of the results generated by curvefit. If you have mission-critical data I suggest using commercial software. curvefit uses hard-coded beginning estimation values for the models which will affect your results. You may need to manually optimize these estimates for your dataset (or write code to determine good starting estimates). | |
Download | |
The latest version is 0.1.1 and the source can be downloaded here:
curvefit-0.1.1.tar.gz.
There is a Windows binary compiled with Visual C++ included in this distribution. |
|
Compiling | |
curvefit is compiled using a standard Makefile recognized by the make utility. If you are on a system with a compiler (like gcc) and make installed, just type 'make' in the curvefit source directory. You may also compile using Visual C++. Open up the curvefit.dsw workspace file. |
|
Example output | |
This example fits a set of data to the y = a * b^x model, which
we'll call the Modified Power model.
$ ./curvefit example.dat modifiedPower y = ab^x a = 9.4886654e+00 b = 1.0057614e+00 $ |
|
Further details | |
If you're interested in more details about how to write your own models and other such specifics, refer to the README file, which is also in the distribution. |