我有一个矩阵Z
,例如
Z = randi(6, 20)
我想从此矩阵中找到最小值,并使用x,y坐标显示它。
我尝试计算出最大值后得到了它,但随后将max
替换为min
以计算出最小值。 max有时会起作用,但min从来没有工作过,所以我猜错了。我需要分钟工作!
[x,y]=find(Z==max(max(Z)))
Z_max=Z(x,y))
[x,y]=find(Z==min(min(Z)))
Z_min=Z(x,y))
但我总是得到一个错误说Index exceeds matrix dimensions.
当它工作时,它给了我这样的答案(这正是我想要的):
x =
5
y =
3
Z_max =
6
任何建议都会非常有用。
答案 0 :(得分:3)
您需要使用find
的三输出版本。此外,这也返回最小值(不仅是指数):
[x y min_Z] = find(Z==min(Z(:)));
如果在几个条目中达到最小值,则会给出几个值。如果您只想要第一个,请使用:
[x y min_Z] = find(Z==min(Z(:)),1);
可能更快的替代方案,它只提供第一个:
[min_Z k] = min(Z(:));
[x y] = ind2sub(size(Z),k);