MATLAB Function Reference
find

Find indices and values of nonzero elements

Syntax

• ```k = find(x)
[i`,`j] = find(X)
[i`,`j`,`v] = find(X)
```

Description

```k = find(X) ``` returns the indices of the array `X` that point to nonzero elements. If none is found, `find` returns an empty matrix.

```[i,j] = find(X) ``` returns the row and column indices of the nonzero entries in the matrix `X`. This is often used with sparse matrices.

```[i,j,v] = find(X) ``` returns a column vector `v` of the nonzero entries in `X`, as well as row and column indices.

In general, `find(X)` regards `X` as `X(:)`, which is the long column vector formed by concatenating the columns of `X`.

Examples

`[i,j,v] = find(X~=0)` produces a vector `v` with all `1`s, and returns the row and column indices.

Some operations on a vector

• ```x = [11  0  33  0  55]';
find(x)

ans =

1
3
5

find(x == 0)

ans =

2
4

find(0 < x & x < 10*pi)

ans =

1
```

And on a matrix

• ```M = magic(3)

M =

8     1     6
3     5     7
4     9     2

[i,j,v] = find(M > 6)

i =            j =          v =

1              1            1
3              2            1
2              3            1

```

`nonzeros`, `sparse`, `colon`, logical operators, relational operators