How can I find indices of each unique elements in a matrix, in one shot. (efficiently)?
For explaining i made this simple script
%%Creation of 'mat'
mat = magic(10);for i=1:10 mat(mat>(10*i-10) & mat<=10*i)=i;endmat_unique = unique(mat(:)); % unique values of 'mat'
%%Finding indices of each unique elements
%%Below thing I want to do in 1 shot without 'for' loop
%%because in my actual problem 'mat' size is very big.
for i=1:length(mat_unique) index(:,i) = find(mat == mat_unique(i)) end
Best Answer