gpt4 book ai didi

matlab - 在矩阵中找到最高/最低值

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:32 27 4
gpt4 key购买 nike

非常基本的问题:如何找到随机矩阵中的最高值或最低值。我知道有可能说:

a = find(A>0.5)

但我正在寻找的更像这样:

A = rand(5,5)
A =
0.9388 0.9498 0.6059 0.7447 0.2835
0.6338 0.0104 0.5179 0.8738 0.0586
0.9297 0.1678 0.9429 0.9641 0.8210
0.0629 0.7553 0.7412 0.9819 0.1795
0.3069 0.8338 0.7011 0.9186 0.0349

% find highest (or lowest) value

ans = A(19)%for the highest or A(7) %for the lowest value in this case

最佳答案

看看 min()max() 函数。它们可以返回最高/最低值及其索引:

[B,I]=min(A(:)); %# note I fixed a bug on this line!

返回 I=7B=A(7)=A(2,2)。表达式 A(:) 告诉 MATLAB 现在将 A 视为一维数组,因此即使 A 是 5x5,它也会返回线性索引 7。

如果您需要二维坐标,即 B=A(7)=A(2,2) 中的“2,2”,您可以使用 [I,J] = ind2sub(size(A),I) 返回 I=2,J=2,参见 here .

更新
如果你需要所有达到最小值的条目索引,你可以使用 find :

I = find(A==min(A(:));

I 现在是所有这些的矢量。

关于matlab - 在矩阵中找到最高/最低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666996/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com