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

16 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2013-11-5
Do the bins cover the same ranges? Like they're both 5 units wide and have edges in the same locations?
Filippo
Filippo 2014-11-21
Assuming they do cover the same ranges... can anyone answer this question? I'm looking too!

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2014-11-21
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);

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by