Convert for loop to matrix operation
    7 views (last 30 days)
  
       Show older comments
    
I have loaded an image, created a histogram for it and would like to convert this for loop to matrix operation, how would I do that?
h1 = histogram(img1, edges, 'normalization','probability');
cdf = zeros(1, h1.NumBins);
sum_value = 0;
for i = 1:h1.NumBins
    sum_value = sum_value + h1.Values(i);
    cdf(i) = (h1.NumBins-1)*sum_value;
end
1 Comment
  Antoni Garcia-Herreros
      
 on 29 Mar 2023
				Hello,
You can try using cumsum
sum_value=sum(h1.Values); %This will be always 1 if you use the normalitzation probability in your histogram
cdf=cumsum(h1.Values).*(h1.NumBins-1); 
Answers (1)
  daniel mitchell
 on 29 Mar 2023
        perhaps this is the solution you are looking for?
h1 = histogram(randn(1e7,1), 'normalization','cdf','DisplayStyle','stairs');
cdf = h1.Values;
0 Comments
See Also
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!


