Create cell array from matrix indices

2 views (last 30 days)
I have an array nx2.The 1st column has some measurements and the 2nd it's index(corresponds to some year).Example: I need to group the elements of the 1st column according to their index of the second column. I need to take
C{1,1}=[2.25;1.85]
C{2,1}=[2.5;1.9;2.14]
C{3,1}=[3.5;1.79]
C{4,1}=[2.89]
It might be easy for many people, but it's hard to find for me being a rookie.

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 17 Apr 2014
Edited: Azzi Abdelmalek on 17 Apr 2014
A=[2.25 1;1.85 1;2.5 2;1.9 2;2.14 2;3.5 3;1.79 3;2.89 4]
C=accumarray(A(:,2),A(:,1),[],@(x) {x})
celldisp(C)

Community Treasure Hunt

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

Start Hunting!