我试图找出最好的方法,最好是在 Octave 中,但我会在紧要关头使用 NumPy。
假设我有一个 axb 矩阵 M。如果我想要任何给定列中最大值的行索引,[x, xi] = max(M)
将为我返回这些索引作为行向量。
例如,如果 M 是:
1 3 5
2 9 1
7 2 4
以上将返回行向量[3 2 1]
为xi
; 每行的索引向量,其中包含该列的最大值。这很好。我想要这个行向量。
但是如果我想要前n 个这样的行向量怎么办?
[编辑以更好地解释这一点]
对于上面的例子,第一个这样的向量将是上面的[3, 2, 1]
, (对于每个给定列具有最高值的行的索引)。第二个这样的向量将是, (每列具有第二高值[2 1 3]
的行的索引)。
我可以迭代地做,但我的实际矩阵有数千行,所以这在计算上会非常昂贵。我找不到任何明显的矩阵效用函数来帮助我实现这一目标。有什么建议么?