find

Matlab Functions List


Syntax

  • k = find(X,<n>,<dir>) returns a vector containing the linear indices of first/last n nonzero element in array X
    • n 默认为全部
    • dir 可填 'fisrt''last', 默认为 'first'
  • [row,col] = find(___) returns the row and column subscripts of each nonzero element in array X
  • [row,col,v] = find(___) also returns vector v, which contains the nonzero elements of X

Usage

在实际应用中, 经常通过多重逻辑运算嵌套产生逻辑数组, 判断数组元素是否符合某种比较关系, 然后用 find 函数查找这个逻辑数组中的非零元素, 返回符合比较关系的元素的索引, 从而实现元素访问.

例子:

>> A = rand(3)
A =
    0.5085    0.7948    0.8116
    0.5108    0.6443    0.5328
    0.8176    0.3786    0.3507
>> test = (A>0.3) & (A<0.7);
>> I = find(test);  
>> A(I)
ans =
    0.5085
    0.5108
    0.6443
    0.3786
    0.5328
    0.3507