making sub arrays of first column depending on the second column number
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Sho Gan
am 9 Jul. 2019
Bearbeitet: Sho Gan
am 9 Jul. 2019
Hi,
I have a matrix with 2 columns let's assume [ 15 2;14 2;10 3;13 3;9 3] how can I get sub arrays from the first column that corresponds to the same number of second column. in this example [15 14] and [10 13 9]? Appreciate your help. Thanks.
0 Kommentare
Akzeptierte Antwort
madhan ravi
am 9 Jul. 2019
Wanted = splitapply(@(x){x},a(:,1),findgroups(a(:,2))) % where a is your matrix
celldisp(Wanted)
2 Kommentare
madhan ravi
am 9 Jul. 2019
% For older versions:
w = accumarray(a(:,2),a(:,1),[],@(x){x});
Wanted = w(~cellfun('isempty',w));
celldisp(Wanted)
Weitere Antworten (1)
Walter Roberson
am 9 Jul. 2019
G = findgroups(YourMatrix(:,2));
subarrays = splitapply(@(varargin) {varargin{:}}, YourMatrix(:,1), G);
1 Kommentar
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!