如何在Matlab中找到数组中元素的顺序?



如果我有一个数组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)表示原数组Ai-th元素的索引。

相关内容

  • 没有找到相关文章

最新更新