making sub arrays of first column depending on the second column number
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
madhan ravi
2019-7-9
Wanted = splitapply(@(x){x},a(:,1),findgroups(a(:,2))) % where a is your matrix
celldisp(Wanted)
2 个评论
madhan ravi
2019-7-9
% For older versions:
w = accumarray(a(:,2),a(:,1),[],@(x){x});
Wanted = w(~cellfun('isempty',w));
celldisp(Wanted)
更多回答(1 个)
Walter Roberson
2019-7-9
G = findgroups(YourMatrix(:,2));
subarrays = splitapply(@(varargin) {varargin{:}}, YourMatrix(:,1), G);
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!