making sub arrays of first column depending on the second column number

1 Ansicht (letzte 30 Tage)
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.

Akzeptierte Antwort

madhan ravi
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
madhan ravi am 9 Jul. 2019
% For older versions:
w = accumarray(a(:,2),a(:,1),[],@(x){x});
Wanted = w(~cellfun('isempty',w));
celldisp(Wanted)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 9 Jul. 2019
G = findgroups(YourMatrix(:,2));
subarrays = splitapply(@(varargin) {varargin{:}}, YourMatrix(:,1), G);

Kategorien

Mehr zu Word games finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by