how to sum a group of gaussian distribution using "hist" ?
Show older comments
I want to add five gaussian distributions at different points on x-axis
I try:
n=500;
H1 = normrnd(14,5,n,1); % generate random numbers of normal distribution at mu and sigma
H2 = 24+ normrnd(14,5,n,1); % start from 24
H3 = 48+ normrnd(14,5,n,1);
H4 = 72+ normrnd(14,5,n,1);
H5 = 96+ normrnd(14,5,n,1);
figure
hhh = [H1 H2 H3 H4 H5];
hist(hhh,130)
which produce a good figure as I need:

but I want to plot the total values of the intersected area. (I put a circle on them)
How I can sum them?
Accepted Answer
More Answers (1)
Image Analyst
on 4 Nov 2015
Try it like this, to sum the bins where both histograms are non-zero:
n=500;
H1 = normrnd(14,5,n,1); % generate random numbers of normal distribution at mu and sigma
H2 = 24+ normrnd(14,5,n,1); % start from 24
H3 = 48+ normrnd(14,5,n,1);
H4 = 72+ normrnd(14,5,n,1);
H5 = 96+ normrnd(14,5,n,1);
figure
hhh = [H1 H2 H3 H4 H5];
hist(hhh,130)
edges = -20:140;
counts1 = histc(H1, edges);
counts2 = histc(H2, edges)
counts3 = histc(H3, edges);
counts4 = histc(H4, edges);
counts5 = histc(H5, edges);
% Get indexes of first overlap region.
mask = counts1>0 & counts2>0;
% Sum both histograms in that area.
sum1 = sum(counts1(mask)) + sum(counts2(mask))
% Get indexes of second overlap region.
mask = counts2>0 & counts3>0;
% Sum both histograms in that area.
sum2 = sum(counts2(mask)) + sum(counts3(mask))
% Get indexes of third overlap region.
mask = counts3>0 & counts4>0;
% Sum both histograms in that area.
sum3 = sum(counts3(mask)) + sum(counts4(mask))
% Get indexes of fourth overlap region.
mask = counts4>0 & counts5>0;
% Sum both histograms in that area.
sum4 = sum(counts4(mask)) + sum(counts5(mask))
2 Comments
Amr Hashem
on 4 Nov 2015
Edited: Amr Hashem
on 4 Nov 2015
Image Analyst
on 5 Nov 2015
I thought you could just use text() if you wanted some label on there, like
message = sprintf('The sum here = %d', sum1);
text(x,y,message);
Categories
Find more on Histograms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!