Calculate the area overlap of two histograms with different bin widths

33 views (last 30 days)
i am looking for a script which can calculate the overlap area of two histograms with different bins widths. The area which i would need is in green in the image below
Does anyone know a script? I ve found a lot of scripts for histograms but not one for my task. Thank you!
  2 Comments
mick strife
mick strife on 11 Dec 2014
Edited: mick strife on 11 Dec 2014
For example i have 2 histograms like in the image below. Both have different bins. As you can see they overlap. What i need is the overlap area between these histograms. I hope it is clear now. Thank you!

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 11 Dec 2014
I'm not sure what the bars above the histograms are - it's not clear what bins they correspond to. There is certainly overlap elsewhere, for example in the 0.49 - 0.51 range.
Isn't the "overlapped" curve merely the curve that is the minimum of the two individual histograms ? I'm pretty sure it is. So can't you just sum that?
minOfHists = min([counts1; counts2], [], 1);
overlappedHist = sum(minOfHists);
Then just divide by whatever baseline you want to normalize it.
  5 Comments
Star Strider
Star Strider on 11 Dec 2014
My pleasure. Interpolating bins might be difficult (I’ve never had reason to do it, so I have no personal experience with interpolating histograms), but I would encourage you to experiment, first with the bin edges, then with the bin centres, to see which would provide the best approximation. You can determine that simply by overplotting the results on your existing histograms. A visual fit is likely as good as any statistical measure at determining the precision of your interpolation.
Then do the min calculation.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!