Matlab,找到最小值的索引,条件是它必须是负数

Gra*_*ent 3 arrays matlab find min

在给定的数组中,我需要找到数组中最小值的索引,但前提是它是负数.

例如:[1, 2, 3, 4]将不返回任何索引

[1, 4, -7, -2]会回来3

我在想这个find()命令一定很简单,但我无法弄清楚如何在这种情况下使用它.

Ron*_*ael 5

假设输入矩阵是A,这应该是诀窍:

find(A==min(A) & A<0)
Run Code Online (Sandbox Code Playgroud)

例如:

>> A = [1, 2, 3, 4];
>> B = [1, 4, -7, -2];
>> find(A==min(A) & A<0)

ans =

   Empty matrix: 1-by-0

>> find(B==min(B) & B<0)

ans =

     3
Run Code Online (Sandbox Code Playgroud)