different formulas for gaussian fitting?
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi.
I would like to fit my data with a gaussian (although I am not really an expert in this).
Actually fitting using both, the cftool and the function "fit" worked out and i would have gotten along with it. Showing it to my workgroup, we found that matlab uses the following formula as "general model"
f(x) = a1*exp(-((x-b1)/c1)^2)
while a colleage of mine (and wikipedia) suggest
f(x) = a1*exp(-0.5*((x-b1)/c1)^2)
Can anyone explain the difference? Thx!
Sascha
0 comentarios
Respuestas (1)
Eric Lin
el 15 de Jun. de 2015
"fit" and "cftool" fold the "2" term in the exponent denominator into the estimate for "c1". That is, the "c1" estimate fitted by "fit" will be greater than the "c1" estimate fitted using the Wikipedia formulation by a factor of sqrt(2).
To see this, we can generate standard normal data and then fit a Gaussian model:
pd = makedist('Normal');
x = -5:.1:5;
y = pdf(pd,x);
f = fit(x',y','gauss1')
pd =
NormalDistribution
Normal distribution
mu = 0
sigma = 1
f =
General model Gauss1:
f(x) = a1*exp(-((x-b1)/c1)^2)
Coefficients (with 95% confidence bounds):
a1 = 0.3989 (0.3989, 0.3989)
b1 = -9.1e-13 (-1.351e-07, 1.351e-07)
c1 = 1.414 (1.414, 1.414)
The "c1" estimate is approximately the square root of 2, as expected.
0 comentarios
Ver también
Categorías
Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!