1

我试图找到一种方法在大小为 [8,8] 的矩阵中找到最大值/s 的坐标集,其中矩阵中的值从 0 到 6 不等(通过脚本的其余部分生成/功能)。

即一个零矩阵(8,8),其中值 1 在 [3,3]、[3,5] 和 [5,3] 中。我想按照 ([3,3],[3,5],[5,3]) 的方式返回一些东西像 [I,J] = [ [0,0,3,0,5,0,0,0] , [1,1,1,1,1,1,1,1] ])

有任何想法吗?如果需要更多说明,请指出您需要的地方,我很乐意这样做。

4

1 回答 1

3

max到目前为止,您遇到的问题是因为它在一维上运行。如果您在矩阵上调用它,使用其默认参数,它将为矩阵的每一列返回一个最大元素(和索引)。在您的情况下,您需要所有最大值,以及全局最大值。

尝试这个:

[I,J] = find(M == max(M(:)))

首先,max(M(:))找到最大元素,然后我们构造一个逻辑矩阵M == max(M(:)),显示哪些元素是最大的。最后,您可以使用find来获取这些坐标(如果需要)。

于 2013-06-06T22:27:39.600 回答