更快或更智能的方式来对大量数据进行排序和交叉



我在 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') 

其中IXa相同。

相关内容

  • 没有找到相关文章

最新更新