我在 Matlab 代码中使用"相交"来执行我想要以下内容的排序:
[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 或更高时,有没有更快或更聪明的方法这样做?
谢谢。
你可以
通过以下方式实现这一点
[ch IX] = sort(s, 'ascend')
其中IX
与a
相同。