0

我有一个矩阵,Z例如

Z = randi(6, 20)

我想从这个矩阵中找到最小值并使用 x,y 坐标显示它。一旦试图计算出最大值,我就让它工作了,但后来为了计算出最小值而被替换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

任何建议都会非常有帮助。

4

1 回答 1

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);
于 2013-11-08T20:26:36.330 回答