List of IDs to matrix of indexes
6 views (last 30 days)
Show older comments
Marleen van Dijk
on 8 Jun 2020
Commented: Marleen van Dijk
on 9 Jun 2020
I have a list containing numbers like lijst = [1,1,1,2,2,3,3,3,3];
Now I want to make a matrix/cell array which counts up like:
A = [1,2,3;
4,5;
6,7,8,9];
(Essentially the number in the array is equal to the row in the matrix, and the number in the matrix is equal to the index of the array)
Is there a nice way to do this?
0 Comments
Accepted Answer
madhan ravi
on 8 Jun 2020
Edited: madhan ravi
on 8 Jun 2020
v = 1:numel(list);
[u,~,c] = unique(list);
Wanted = arrayfun(@(x) v(list == x), u,'un',0);
% or
Wanted = accumarray(c,v,[],@(x){x.'});
celldisp(Wanted)
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!