How to to group each set of data in individual cell array ?
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
I have a raw data matrix as
A=[111 1 2 3; 111 4 5 6; 111 7 8 9; 112 10 11 12 ; 112 13 14 15; 112 16 17 18];
the first column is a customer ID.
I want to group each customer in individual cell array as
B=1X2 cell where
B{1,1}=[111 1 2 3; 111 4 5 6; 111 7 8 9] and
B{1,2}=[112 10 11 12 ; 112 13 14 15; 112 16 17 18]
How can I create program to get a result like B ?
댓글 수: 0
답변 (1개)
  Stephen23
      
      
 2018년 1월 13일
        >> A = [111,1,2,3;111,4,5,6;111,7,8,9;112,10,11,12;112,13,14,15;112,16,17,18];
>> [~,~,X] = unique(A(:,1));
>> B = accumarray(X,(1:size(A,1)).',[],@(r){A(r,:)});
>> B{:}
ans =
   111     1     2     3
   111     4     5     6
   111     7     8     9
ans =
   112    10    11    12
   112    13    14    15
   112    16    17    18
>>
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

