How to generate surface preserving probability density function from histogram

4 views (last 30 days)
lvn
lvn on 18 Jul 2015
Answered: Ghada Saleh on 20 Jul 2015
I have a histogram with non uniform bins. From this I would like to estimate a smooth probability density function(basically also a histogram but with much finer bins), so that when I integrate it over the different original bin edges, I recover my histogram exactly.
Does anyone know a way how to do this?
Thanks in advance!

Answers (1)

Ghada Saleh
Ghada Saleh on 20 Jul 2015
Hi Ivn,
I understand you want to fit a histogram to a probability density function. Your first step is to make the area of the histogram equal to one. This can be done using the following code and assuming your data is 'x':
[heights,locations] = hist(x);
width = locations(2)-locations(1);
heights = heights / (n*width);
Now if you plot 'heights' that should give you a rough estimate of the discrete probability density function. If you want to fit your histogram to a known probability distribution, you can use histfit directly.
I hope this helps,
Ghada

Community Treasure Hunt

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

Start Hunting!