## Fit Lorentz functions

Purpose

Description

Tips

Macro Synopsis

Modules

Related Functions

References

### Purpose

Marquardt-Levenberg fitting to Lorentz functions

### Description

"Fit Lorentz functions" performs a nonlinear fitting of the given
signal to a sum of Lorentz functions

by using nonlinear Marquardt-Levenberg optimization. It is necessary to give starting values that can either be fitted or held fixed.
If at least one parameter is to be fitted, the progress of the fitting can be observed in the Dataplore ® message window, where the current estimations of the parameters are displayed.

The signal returned from this function corresponds to the fitting function with parameters that give the best fit for the input singal.

This function takes either one or two signals as input; if two signals are given, the second one is used as a weighting function consisting of the individual standard deviations of the input signal samples. Note that both signals must be equal in size, scale and shift.

Otherwise, if a single signal is given, all signal samples are weighted equally.

Parameters of this function are

and a number of comma-separated lists containing ...
- N amplitude values
- N corresponding "flags" denoting which of the amplitudes given in the list above are to be fitted (1) or which ones are to be held fixed (0)
- N center values, corresponding to
- N flags denoting which center values are to be fitted (1) and which
ones are to be held fixed (0)
- N width values
`theta`, corresponding to
in the above formula
- N flags denoting which thetas are to be fitted (1) or to be
held fixed (0).

The maximum order is limited to 16. If fitting flags are omitted, Dataplore ® defaults to fit(1) the corresponding values.

### Tips

In order to achieve satisfying fitting results, try to give start parameters that are not too far away from the expected resulting values. To that end, you can try to successively fit single parameters while holding fixed other parameters whose estimations already seem to be good enough.

### Macro Synopsis

`y = LorentzFit(x,order,a,aflag,center,centerflag,theta,thetaflag);`

y = LorentzFit([x,weight],order,a,aflag,center,centerflag,theta,thetaflag);

signal x,y,weight;

int order;

string a,aflag,center,centerflag,theta,thetaflag;

Note that x can be a standard or an XY plot signal.

### Modules

Statistics

### Related Functions

Fit Boltzmann functions, Fit Bradley model, Fit Chapman model, Fit exponential decay functions, Fit Gunary model, Fit Farazdaghi-Harris model, Fit Hill functions, Fit hyperbola functions, Fit logarithm function, Fit logistic functions, Fit monomolecular growth model, Fit Nelder model, Fit Pareto functions, Fit polynomial functions, Fit ratio of polynomial functions, Fit Richards growth model, Fit sine functions, Fit damped sine functions, Fit Weibull functions

### References

Marquardt [29]