How to to group each set of data in individual cell array ?

1 visualización (últimos 30 días)
Pradya Panyainkaew
Pradya Panyainkaew el 13 de En. de 2018
Respondida: Stephen23 el 13 de En. de 2018
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 ?

Respuestas (1)

Stephen23
Stephen23 el 13 de En. de 2018
>> 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
>>

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by