How can I get subscript instead in indices from sort() ??
1 回表示 (過去 30 日間)
古いコメントを表示
How can I get subscript instead in indices from
sort(mat(:));
Script:
%%Creation of 'mat'
mat = magic(100);
for i=1:100*100
mat(mat>(100*i-100) & mat<=100*i)=i;
end
[~,idx] = sort(mat(:));
%%I dont want to use 'for' loop. I.e.,
for i=1:length(idx) % I want to avoid for loop
[I(i),J(i)] = ind2sub(size(mat),idx(i));
end
I tried 'arrayfun' also but it is taking more time then for loop
[I2,J2] = arrayfun(@(x) ind2sub(size(mat),x),idx);
1 件のコメント
Fangjun Jiang
2018 年 8 月 7 日
mat(:) turns mat() into a column vector. No point to get indices anyway.
採用された回答
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!