【发布时间】:2015-11-06 15:34:27
【问题描述】:
我打算将等级分配给数组的索引(而不是数组本身)并创建包含这些等级的第二个向量。
例子:
data: x=[ 3 7 2 0 5 2]
ranks: x'=[ 3 5 2 1 4 2]
为索引分配排名后,我需要在循环的每次迭代中提取kth(从1开始)最小索引的对应值,直到满足某个条件。
例如,我需要第一次迭代中第一个最小索引的对应值,即ranks向量中元素“1”的对应值,等于x向量中的元素“0”,而索引为两个向量都保持不变(需要明确的是,x 向量中的每个元素都代表用户的某个属性,因此如果索引发生变化,我将失去对用户的跟踪)。
按照这个过程,在第二个循环中,不考虑第一个最小值,我需要提取第二个最小值元素,依此类推。
【问题讨论】:
-
[~,ind] = sort(ranks); out = x(ind);.
标签: arrays matlab sorting vector ranking