How can I find the percentage of the overlap of two histograms in Matlab?

14 views (last 30 days)
I try to plot two histograms and I need to know quantitavely what is the area and percentage of overlap of these two histograms.
  2 Comments
Image Analyst
Image Analyst on 5 Nov 2013
Do the bins cover the same ranges? Like they're both 5 units wide and have edges in the same locations?
Filippo
Filippo on 21 Nov 2014
Assuming they do cover the same ranges... can anyone answer this question? I'm looking too!

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 21 Nov 2014
I'd put each histogram into one row and take the min and the max.
bothHistograms = [hist1; hist2];
minCounts = min(bothHistograms, [], 1);
maxCounts = max(bothHistograms, [], 1);
Then get the ratio of the min value for each bin to the max value for each bin:
ratios = minCounts ./ maxCounts;
If you want the average percentage coverage over all bins, take the mean over all bins:
meanPercentage = mean(ratios);

Tags

Community Treasure Hunt

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

Start Hunting!