目前,我可以使用以下代码找到矩阵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);
其中
rows
和cols
是索引的向量。将这些rows
和cols
向量保存在可以重复使用的位置(如果尚未使用)。[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/