I = find(X,k,direction) specifies
the search direction as either 'first' or 'last'.
For example, find(X,k,'last') finds the last k nonzero
elements in X.

To find a specific integer value, you can use the == operator.
For instance, find the element equal to 13 in a
1-by-10 vector of odd integers.

X = 1:2:20

X =
1 3 5 7 9 11 13 15 17 19

I = find(X==13)

I =
7

To find a noninteger value, use a tolerance value (such
as eps). Otherwise, the result is sometimes an
empty matrix due to floating-point roundoff error.

Find the first 3 elements in a 4-by-4 matrix that are
greater than 0 and less than 10.
Specify two outputs to return the row and column subscripts to the
elements.

Input array, specified as a scalar, vector, matrix, or multidimensional
array. If X is an empty array or has no nonzero
elements, then I is an empty array.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char Complex Number Support: Yes

Linear indices to nonzero elements, returned as a vector. If X is
a row vector, then I is also a row vector. Otherwise, I is
a column vector. I is an empty array when X is
an empty array or has no nonzero elements.

You can return the nonzero values in X using X(I).

A linear index allows use of a single subscript
to index into an array, such as A(k). MATLAB treats
the array as a single column vector with each column appended to the
bottom of the previous column. Thus, linear indexing numbers the elements
in the columns from top to bottom, left to right.

For example, consider a 3-by-3 matrix. You can reference the A(2,2) element
with A(5), and the A(2,3) element
with A(8). The linear index changes depending on
the size of the array; A(5) returns a differently
located element for a 3-by-3 matrix than it does for a 4-by-4 matrix.

The sub2ind and ind2sub functions
are useful in converting between subscripts and linear indices.

Use find in conjunction with a
relational expression to find array elements that meet a condition.
For example, find(X<5) returns the linear indices
to the elements in X that are less than 5.

Use X(X<5) to directly find
the elements in X that satisfy the condition X<5.
Avoid function calls like X(find(X<5)), which
unnecessarily use find on a logical matrix.

When you execute find with a relational
operation like X>1, it's important to
remember that the result of the relational operation is a logical
matrix of ones and zeros. For example, the command [row,col,v]
= find(X>1) returns a column vector of logical 1 (true)
values for v.

The row and column subscripts, row and col,
are related to the linear indices in I by I
= sub2ind(size(X),row,col).