MatLab 7.10.0运动比较一系列矩阵中的最小值

时间:2014-02-18 20:19:12

标签: matlab matrix

我有几个大矩阵(~500x650),我有兴趣找到只有一列的最小值及其对应的行号,然后将其与其他列中的同一列进行比较(即比较第5列)矩阵7)中的矩阵1到第5列。最小值每次都会更改行和值,但我只想知道最小值从前一个矩阵中的位置移动了多少行。我不关心最小值是什么,我只想知道值移动了多少行。有谁知道如何做到这一点?非常感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

min函数查找每列中的最小值和相关索引。然后你可以比较它们。 例如:

M =

    0.3922    0.7060    0.0462
    0.6555    0.0318    0.0971
    0.1712    0.2769    0.8235

[C,I]=min(M)

C =

    0.1712    0.0318    0.0462

I =

     3     2     1

你可以对其他方面做同样的事情:

[C,I]=min(M,[],2)

C =

    0.0462
    0.0318
    0.1712


I =

     3
     2
     1

然后你可以这样做:

 [~,idx]=min(C)

idx =

     2

最小值位于I(idx),idx:

M(I(idx),idx)

 = 0.0318

等于

min(min(M))