MATLAB Answers


counting total no of particles in a bin in histogram

Asked by Sumera Yamin on 23 Aug 2019
Latest activity Commented on by dpb
on 23 Aug 2019
Hi, i have a basic problem. I had made a histogram with nbins = 100.
I want to count the number of particles of that which is maximum number of particles and display it.
what should be the best way to do it.
Thank you very much. Any help is highly appreciated.


Which one of the veritable multitude of binning functions now available did you use, specifically? Show us code you used.
Did you try looking at the counts property of the histogram object?
x = randn (100,1);
n = 100;
hist (x, n);
minz = min (x);
maxz = max (x);
n_bin = (maxz-minz) / n;
% i want to locate the bin with highest number of counts and then divide total sum of that bin with n_bin.

Sign in to comment.

1 Answer

Answer by Saurabh Kelkar on 23 Aug 2019
 Accepted Answer

k = hist(x,n);
gives the counts in each of the bins.
modalBin = find(k==max(k) % Gets the bin number of highest bin. Will return two bins if clashes
Alternatively i would recommend using ecdf funtion for doing this.


Which illustrates also a conundrum -- two functions of nominally same purpose and two different which one is "right"?
All depends on the binning algorithm that TMW changed between the two.
It looks like hist is discouraged by mathworks...
Indeed, but there are some real advantages with them with respect to the new versions...the binning difference above being one and the ease in setting bins for certain specific uses. "Not everything new is necessarily improved."

Sign in to comment.