gaussfitn
Version 1.1.2 (3.08 KB) by
Matt J
Fit N-dimensional scattered points with Gaussian+constant
This function uses lsqcurvefit to fit parameters D, A, mu, sig to the R^N-->R
Gaussian+constant model function,
z(x) = D + A*exp( -0.5 * (x-mu).' * inv(sig) *(x-mu) )
Here A and D are unknown scalars, mu is an unknown Nx1 mean vector, and sig is an
unknown NxN covariance matrix. By imposing lower and upper bounds 0<=D<=0 (see below), this can also be used to perform pure Gaussian fitting.
SYNTAX:
[params,resnorm, residual,exitflag,output] = gaussfitn(xdata,zdata,params0,LB,UB,Name,Value)
INPUTS (required):
xdata: MxN matrix whose rows specify M scattered samples in R^N
zdata: Mx1 vector of corresponding samples z(xdata)
INPUTS (optional)
params0: Cell array of initial parameter estimates {D0,A0,mu0,sig0}.
Can also be empty [] in which case default initial guesses
are autogenerated. Can also consist of cell array of empty
and non-empty elements like {D0,[],mu0,[]} in which case
default initial guesses are generated for select parameters.
LB: Cell array of lower bounds {D_LB, A_LB, mu_LB} on D, A, and mu.
UB: Cell array of upper bounds {D_UB, A_UB, mu_UB} on D, A, and mu.
Name,Value: Name/Value option pairs compatible with lsqcurvefit. See,
<https://www.mathworks.com/help/optim/ug/lsqcurvefit.html#buuhcjo-options>.
By default, however, SpecifyConstraintGradient=true unless
over-ridden.
OUTPUTS:
params: Final estimate of the parameters as a cell array {D,A,mu,sig}
resnorm: As in lsqcurvefit
residual: As in lsqcurvefit
exitflag: As in lsqcurvefit
output: As in lsqcurvefit
Cite As
Matt J (2024). gaussfitn (https://www.mathworks.com/matlabcentral/fileexchange/69116-gaussfitn), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2018a
Compatible with R2016b and later releases
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Numerical Integration and Differential Equations > Ordinary Differential Equations >
Find more on Ordinary Differential Equations in Help Center and MATLAB Answers
Tags
Acknowledgements
Inspired by: 2D Rotated Gaussian Fit, Fit 2D gaussian function to data, Fit 2D Gaussian with Optimization Toolbox, Fit 1D and 2D gaussian to noisy data
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.