[英]how to find minimum value in a large matrix
我有一个矩阵Z
Z = randi(6, 20)
我想从此矩阵中找到最小值,并使用x,y坐标显示它。 尝试计算出最大值后,我得到了它的工作,但后来用min
代替了max
以得出最小值。 最大值有时会起作用,但最小值从未起作用,因此我猜有些错误。 我需要分钟上班!
[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
任何建议将非常有帮助。
您需要使用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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.