MATLAB: Group a Array Elements

group a array elements

X=[1 2 3 3 3 1]
index 1 -> 1 index 2 -> 2 index 3 -> 3 index 4 -> 3 index 5 -> 5 index 6 -> 1
y=[{1,6},{2},{3,4,5}]
How create matrix y?

Best Answer

X=[1 2 3 3 3 1] ;
[c,ia,ib] = unique(X) ;
iwant = cell(length(c),1) ;
for i = 1:length(c)
iwant{i} = find(ib==i) ;
iwant{i}
end