different formulas for gaussian fitting?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Eric Lin
am 15 Jun. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!