Convert for loop to matrix operation
Afficher commentaires plus anciens
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 commentaire
Antoni Garcia-Herreros
le 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);
Réponses (1)
perhaps this is the solution you are looking for?
h1 = histogram(randn(1e7,1), 'normalization','cdf','DisplayStyle','stairs');
cdf = h1.Values;
Catégories
En savoir plus sur Histograms dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
