How can we calculate probability density of a histogram?

534 views (last 30 days)
Hello, I have a dataset containing hundreds of data points representing duration of events. I have plotted a histogram for this data set. I want to calculate probability density for the same. I want a plot having event duration at X-axis and probability density at Y-axis. I have attached histogram for which I want to calculate PD.

Accepted Answer

the cyclist
the cyclist on 19 Aug 2017
Edited: the cyclist on 19 Aug 2017

If you have version R2014b or later, you can use the histogram command, and specify the 'Normalization' property to be 'probability':

rng default
x = randn(1000,1);
h = histogram(x,'Normalization','probability');

h.Values will give you the density.

More Answers (3)

Image Analyst
Image Analyst on 19 Aug 2017
Did you look in the documentation for histogram and see the normlization option:
'Normalization' Type of normalization
'count' (default) | 'probability' | 'countdensity' | 'pdf' | 'cumcount' | 'cdf'
  3 Comments
Image Analyst
Image Analyst on 12 Jun 2020
Just divide your counts by either the number of counts in the highest bin, or by the sum of all bins, depending on how you define normalize.

Sign in to comment.


Steven Lord
Steven Lord on 19 Aug 2017
Use the 'Normalization' option of the histogram function.

Mehri Mehrnia
Mehri Mehrnia on 27 Jun 2022
I have the same problem , just at I want to have same edges in both before normalization and after normalization.
I got an strange result!!!
  1 Comment
Image Analyst
Image Analyst on 28 Jun 2022
Thanks for the announcement. If you have any questions, then attach your data and code to read it in with the paperclip icon after you read this:

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by