arrays - 从向量中排序的索引向量

标签 arrays matlab sorting matrix

举个例子,我的问题更不稳定。

给定一个任意向量,即 [6 2 5],我想得到另一个向量,其元素是输入向量的排序索引:在本例中,[3 1 2 ]

是否有任何 MATLAB 函数能够返回此值?

谢谢!

最佳答案

使用 sort 的第二个参数两次

[~, tmp] = sort( myInput );
[~, myOutput] = sort( tmp );

关于运行时间:

n = 1000; 
x = unique(randi(100*n,1,n)); %// make sure all elements of x are different
tic; %// try this answer
[ii t]=sort(x);
[ii out1]=sort(t);
toc, 
tic;
out2 = sum(bsxfun(@ge, x, x.'));
toc

输出:

 Elapsed time is 0.000778 seconds.  %// this answer
 Elapsed time is 0.003835 seconds.  %// bsxfun approach

关于arrays - 从向量中排序的索引向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29765658/

相关文章:

matlab - 在排序向量中快速搜索大于 x 的最小值

node.js - sails +蒙戈+水线。按填充集合中的文档数排序

javascript - 在 jQuery 中创建数组并添加/删除元素

javascript - 添加值并保持总计

java - 使用 split() 数组索引越界后但在循环中读取数组

java - While循环将循环遍历数组java中的条目

matlab - 如何做气泡图?

arrays - 在matlab中查找数组中的高频元素

javascript - 如何计算一个值在没有突变的情况下在数组中出现的次数

c++ - 将 C++ 中的字符串拆分并处理为不同的变量