Grouping matrix rows in terms of one column

前端 未结 2 698
无人共我
无人共我 2020-12-11 22:43

First of all it is really hard for me to describe the problem really good but I\'ll try.

Say that we have matrix A

A = [23 1;
     45 1
     78 1
            


        
2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-11 23:19

    You could use accumarray here:

    B = accumarray(A(:,2),A(:,1),[],@(x){x},{});
    

    If you know that A is sorted, and that there is no missing entry from the second column, you can also use mat2cell:

    counts = histc(A(:,2),unique(A(:,2)));
    B = mat2cell(A(:,1),counts);
    

提交回复
热议问题