Normalized histogram with gaussian fit
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Miquel Vega Paredes
am 8 Apr. 2021
Kommentiert: Alan Stevens
am 29 Okt. 2021
Hi, I know how to make an histogram and make it so it is normalized according to the probability
histogram(x, nbits, 'Normalization','probability')
and also how to fit a gaussian curve to the histogram: histfit (x)
But if I use the command histfit I don't know how to normalize it according to the probability.
I would like to have both, a normalized histogram with the probability, that also has the plot of the gaussian distribution that fits to my data set.
I hope my question is clear and that you can help me :)
0 Kommentare
Akzeptierte Antwort
Alan Stevens
am 8 Apr. 2021
Here's an example showing one possibility:
gaussian = @(x, m,s) exp(-0.5*((x-m)/s).^2)/(s*sqrt(2*pi));
mu = 5; % Arbitrary mean
sigma = 1; % arbitrary standard deviation
x = mu + sigma*randn(1,400); % Arbitrary random normal data
h = histogram(x);
dh = h.BinWidth;
lo = min(x);
hi = max(x);
dxx = (hi-lo)/100;
xx = linspace(lo,hi,101);
pdf = gaussian(xx, mu, sigma);
scalefactor = sum(h.Values*dh)/(trapz(pdf)*dxx);
pdf = scalefactor*pdf;
hold on
plot(xx,pdf)
3 Kommentare
studentmatlaber
am 29 Okt. 2021
@Alan Stevens I ran the code you wrote. But shouldn't the normalized histogram be between 0 and 1?
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!