我想为矩阵中的每一行找到第 n 个最小元素。

例子:

n = 2
M = [1, 2, 3; 4, 5, 6; 7, 8 9]
Result = [2, 5, 8]

最佳答案

首先按第二维对矩阵进行排序(即按升序对每一行进行排序):

n = 2
M = [1, 2, 3; 4, 5, 6; 7, 8 9]

M_SORTED = sort(M,2)
M_SORTED =
     1     2     3
     4     5     6
     7     8     9

矩阵的第 n 列将包含结果:
RESULT = M_SORTED(:, n)
RESULT =
     2
     5
     8

关于MATLAB:在每行中查找第 n 个最小元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8947468/

10-13 07:40