假设我有这样的矩阵:
a = [ 2 5 4 7; 1 2 5 8; 2 3 4 5; 4 3 1 5]
返回最大值及其列和行索引的函数是什么?
例如,在我的情况下,函数应返回最大值为8,列索引为4,行索引为2
答案 0 :(得分:1)
您可以使用max
两次执行此操作:
[m irows]=max(a)
[mm icol]=max(m)
irow=irows(icol)
a(irow,icol)
另一种解决方案是将a
展开为a(:)
的向量,使用max
,这将为您提供一个索引,然后您需要将其转换为行和列。例如,您可以通过b(:)
打印b=[1,3;2,4]
来轻松弄清楚其工作原理。
答案 1 :(得分:0)
从@ yoh.lej开始,您可以使用ind2sub
将find
的输出转换为坐标:
m = magic(5);
[y, i] = max(m(:));
[r, c] = ind2sub(size(m), i)