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