NLSF Fitter

What is fitting? Suppose that you have a table of numbers, Yi and Xi, i=0..n. Then suppose that you have model representation for these numeric Y(X) data: Y=f(X,pj), j=1..m, and you want to find numeric values of pj that made table-defined curve Yi( Xi) and model curve Y=f(X,pj) most similar. This process is known as fitting. If model function has linear dependence on fitting parameters, this can be treated as linear fitting, otherwise you will have non-linear fitting problem.

What is NLSF? NLSF stands for non-linear least-square fitting. DM2000 uses one of the most popular and effective NLSF algorithms, namely Levenberg-Marquardt algorithm, that can be thought of as a trust-region modification of the well-known Gauss-Newton algorithm.

How to use NLSF fitter? First you should plot data to be processed (this tool works only with active plot serie). Then make plot active and select Process|LM Fit menu item to display NLSF Fitter window. You will see your curve on the separate plot. Click "Function" button to input desirable fitting expression and define initial values of the fitting parameters in the Parameters table. You should verify parameter values before start fitting session: click "Update" button and see how fit curve conforms your data. Also you may change NLSF Options. Click "Fit" button and when fitter finishes calculation (it may take a lot of time for slow computers and long expressions) save your results.

In DM2000 you have a wide set of options that allows you to have full control over the fitting process.

Please keep in mind that the result of your fitting session critically depends on initial values of parameters because usually your expression will have a lot of local minima that can prevent fitter to find absolute minimum. Probably you will have to select parameter values manually before start fitting (use Update button to display fit curve and remember intermediate parameter sets).

NLSF fitter is available via OLE Automation (see IDMApplication interface for more details). This feature allows you to create powerful automatic routines for initial parameter evaluation and batch fitting.


Notice: if active serie (curve to be fitted) has nonempty X, Y expressions,  fit calculation algorithm will take these expressions into account. In another words, transformed curve will be fitted. However, axis expressions will be simply ignored (and you get warning message).