Log-Normal fit of histogram

12 次查看(过去 30 天)
De Ar
De Ar 2019-10-29
回答: Jeff Miller 2019-10-29
I have a skewed Gaussian distribution in my histogram that I am trying to fit using a log-normal distribution, but my code is giving me a flat fit. Any suggestions to what I am doing wrong?
skewedGauss.png
Attempt
yyaxis left
bar(binLocations, counts);
xlabel('Intensity')
ylabel('Pixel Counts')
% Log-Normal fit
pd = fitdist(counts, 'LogNormal');
pd = makedist('LogNormal', 'mu', pd.mu, 'sigma', pd.sigma);
counts_fit = pdf(pd, binLocations);
counts_fit = counts_fit./sum(counts_fit);
yyaxis right
plot(binLocations, counts_fit, '-', 'LineWidth', 2)
xlim([min(binLocations(:)) max(binLocations(:))])

回答(1 个)

Jeff Miller
Jeff Miller 2019-10-29
fitdist wants the x values that were tabulated to get the histogram, not the bin counts. From your histogram, it looks like your x should be a vector of length about 10^6 containing numbers in the range 0.4--0.8.

产品


版本

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by