Matlab 中 n 个最小值向量中的相对位置

Relative Postion in a vector of n-minimum values in Matlab

我想知道如何在 Matlab 中计算包含最小值相对位置的向量。 只是为了更好地解释,因为我可能会被误解, 我在 Matlab 中有这个向量,它包含这个值: Q=[10,15,11,18,90,21]; 第一个最小值是 10,该向量中的相对位置是 1,第二个最小值是 11,该值在该向量中的相对位置是 3,依此类推。 我需要一个包含每个值的相对位置的向量,按最小值顺序排列,然后使用前面的示例: Vector_result_position=[1,3,2,4,6,5].

你能帮帮我吗? 提前致谢

使用sort的第二个输出。 sort 的第二个输出告诉您原始未排序数组中每个数字在其排序结果中出现的位置:

>> Q=[10,15,11,18,90,21];
>> [~, Vector_result_position] = sort(Q)

Vector_result_position =

     1     3     2     4     6     5

因此Q中的元素10出现在排序结果的第一位,Q中的元素15出现在排序结果的第三位,[=13=中的元素11] ]出现在排序结果的第二个位置等