Fit sine functions
Purpose
Description
Tips
Macro Synopsis
Modules
Related Functions
References
Purpose
Marquardt-Levenberg fitting to sine functions
Description
"Fit sine functions" performs a nonlinear fitting of the given signal to a sum of sine 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 sine functions" 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 frequency values, corresponding to
- N flags denoting which frequency values are to be fitted (1) and which
ones are to be held fixed (0)
- N phase values phi, corresponding to
in the above formula
- N flags denoting which phases 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 = SineFit(x,order,a,aflag,freq,freqflag,phi,phiflag);
y = SineFit([x,weight],order,a,aflag,freq,freqflag,phi,phiflag);
signal x,y,weight;
int order;
string a,aflag,freq,freqflag,phi,phiflag;
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 Lorentz functions, Fit monomolecular growth model, Fit Nelder model, Fit Pareto functions, Fit polynomial functions, Fit ratio of polynomial functions, Fit Richards growth model, Fit damped sine functions, Fit Weibull functions
References
Marquardt [29]