目前,我可以使用以下代码找到矩阵C及其索引的最大值:

[max_C, imax] = max(C(:));
[ypeak, xpeak] = ind2sub(size(C),imax(1));

我们称矩阵C_sub的子集

我想找到C_sub的最大值,但是我也想知道C中该最大值的索引。

看来这应该是一个简单的问题,但这让我感到困惑。

谢谢你的帮助!

最佳答案

假设C_sub是由创建的

C_sub = C(rows,cols);

其中rowscols是索引的向量。将这些rowscols向量保存在可以重复使用的位置(如果尚未使用)。
[max_C_sub, ind_C_sub] = max(C_sub(:));
[ypeak_sub, xpeak_sub] = ind2sub(size(C_sub), ind_C_sub);
xpeak = cols(xpeak_sub);
ypeak = rows(ypeak_sub);

或者,如果rows和/或cols是逻辑向量而不是索引向量,则可以使用 find 对其进行转换,然后按上述步骤进行操作。
rows_ind = find(rows_logical);

关于matlab - 在保留完整矩阵的索引的同时,在MATLAB中查找矩阵子集的最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4833326/

10-13 08:26