## Fit Gauss functions

Purpose

Description

Tips

Macro Synopsis

Modules

Related Functions

References

### Purpose

Marquardt-Levenberg fitting to Gauss functions

### Description

"Fit Gauss functions" performs a nonlinear fitting of the given signal to a sum of Gauss 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 "Fit Gauss functions" are

and a number of comma-separated lists containing ...
- N amplitude values (a)
- 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
`sigma`, corresponding to
in the above formula
- N flags denoting which sigmas 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 = GaussFit(x,order,a,aflag,center,centerflag,sig,sigflag);`

`y` = GaussFit([x,weight],order,a,aflag,center,centerflag,sig,sigflag);

signal x,y,weight;

int order;

string a,aflag,center,centerflag,sig,sigflag;

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

### Modules

Statistics

### Related Functions

Fit Boltzmann functions, Fit exponential decay functions, Fit hyperbola functions, Fit logarithm function, Fit logistic functions, Fit Lorentz functions, 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]