如果我有一个数组A = [10 1 5 20]
,我想要一个程序来查找元素的索引。这里是Idx = [3 1 2 4]
。我使用[~,Idx]=sort([10 1 5 20])
并得到以下内容:
Idx =
2 3 1 4
这完全不是我所期望的。我甚至不明白程序是如何得到这些数字的。
很简单:
A = [10 1 5 20];
[~, Idx] = sort(A);
[~, orders] = sort(Idx);
% orders
% [3 1 2 4]
orders
是你的答案。你需要得到排序后的Idx
的索引。
注意,Idx(i)
表示原数组A
中i-th
元素的索引。