# find

Returns the position of non-zero elements in a matrix.

## Syntax

idx = find(x)

idx = find(x,n)

idx = find(x,n,dir)

[i,j] = find(...)

[i,j,v] = find(...)

## Inputs

`x`- The matrix to search for non-zero elements.
`n`- The maximum number of elements to return.
`dir`- The direction in which to start the search, either "first" or "last". "first" searches the matrix from the beginning, whereas "last" starts the search from the end of the matrix.

## Outputs

- idx
- A vector of the vector indices of the nonzero elements. To achieve this result, OML treats the matrix as if the columns of the given matrix are one vector.
- i,j
- The row and column indices of nonzero elements in the given matrix.
- v
- A vector of the found nonzero elements.

## Examples

Simple matrix
input:

`R = find([1,0;0,1])`

`R = [ 1 ; 4 ]`

Simple matrix input with a maximum return of
1:

`R = find([1,0;0,1],1)`

`R = 1`

Simple matrix input with a maximum return of 1, starting the search from the
beginning:

`R = find([1,0;0,1],1,'first')`

`R = 1`

Simple matrix input with a maximum return of 1, starting the search from the
end:

`R = find([1,0;0,1],1,'last')`

`R = 4`

Two variable return with a matrix
input:

`[a,b]=find([0,1,0,-1])`

```
a = [ 1 1 ]
b = [ 2 4 ]
```

Three variable return with a matrix
input:

`[a,b,c]=find([0,1,0,-1])`

```
a = [ 1 1 ]
b = [ 2 4 ]
c = [ 1 -1 ]
```