我在我的Matlab代码中使用“intersect”进行排序,我想要以下内容:
[ch] = sort(s, 'ascend');
[same, a] = intersect(s, ch);
例如:
输入:
s = [55 21 78 7]
输出:
ch = [7 21 55 78]
a = [4 2 1 3]
我需要访问a
,其中a
在排序之前显示原始索引,以便我可以将其用于进一步处理。
这种方法与我想要的完全一样,但我想这需要花费大量时间进行排序和交叉等,特别是当s
的大小接近100或更高时,是否有更快或更智能的方式这样做?
非常感谢。
答案 0 :(得分:1)
您可以使用
实现此目的[ch IX] = sort(s, 'ascend')
其中IX
与a
相同。