Binning data from two columns using one column as category for second column
Afficher commentaires plus anciens
Hi all,
So I am trying to do this via loops but i am not getting anywhere and i am sure that there is a quicker way to solve this problem. I have two columns of data, Radius and Volume, and I wanted to bin the Volume according to the values of the Radius. So for example, if R is the first column of values and V is the second column
A = [ 1 8
2 7
3 9
4 3
5 4
6 6
7 5
8 6
9 6
10 6
11 3
12 2
13 1
14 1
15 3
16 4
]
will be binned as
B = [ 5 31
10 29
15 10
]
So the bin labels are the values of the Radius, and the second column contains the sum of the Volumes in that Radius range.
Many thanks
3 commentaires
Star Strider
le 3 Juin 2016
Please explain in some detail how you get ‘B’ out of ‘A’.
Jos (10584)
le 3 Juin 2016
which Radius range?
Sohrab Daemi
le 3 Juin 2016
Réponses (1)
Jos (10584)
le 3 Juin 2016
[~,i] = histc(X,edges)
Result = accumarray(Y,i,[max(i) 1],@sum)
2 commentaires
Sohrab Daemi
le 3 Juin 2016
Modifié(e) : Sohrab Daemi
le 3 Juin 2016
Jos (10584)
le 4 Juin 2016
Almost correct! See the help of HISTC about the meaning of the second input argument ( edges).
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!