# How can I find index of element in array?

2,924 views (last 30 days)

Show older comments

Mykhailo Yaroshenko
on 8 Nov 2017

##### 0 Comments

### Accepted Answer

James Tursa
on 15 May 2024

Edited: MathWorks Support Team
on 5 Jun 2024

To find the index of a specific integer value (without roundoff error) in an array of integers, use the "find" function and == operator. For example, find the index of an element equal to 5 in a 1-by-11 vector of integers.

x = 0:1:10;

k = find(x==5)

To find a numeric value in an array of floating-point numbers, use a tolerance value based on your data. Otherwise, the result is sometimes an empty matrix due to floating-point roundoff errors. For example, find the index of an element equal to 0.5 within a roundoff error of 1e-6.

y = 0:0.1:1;

k = find(abs(y-0.5) < 1e-6)

##### 7 Comments

Ehsan Partovi
on 2 Oct 2021

The function find() is useful as far as matrices (2-D tensors) are concerned. I cannot, however, find a useful function for nd-arrays where, for instance, the index could be an array on its own. See example below:

M = reshape(1:24, [2,3,4]);

indices = index_finder(M==20); % indices = vector of indices

It would be very useful if there was a function which worked for tensors of any dimensionality.

Jesse Ivers
on 29 Jun 2023

@Ehsan Partovi I couldn't agree with you more; this is a problem I seem to run into often, and here is my solution:

% Example ND-array

arr = reshape([1:6000], [5 5 10 4 6]);

numberOfInterest = 99;

% Get the linear index of the

linearIndex = find(arr==numberOfInterest);

% Convert linear index to subscript

[row, col, depth, channel, time] = ind2sub(size(arr), linearIndex)

The only drawbacks are the reuirement that you know how many dimensions. YOu can get around this with CSLs like so:

% Use CSL to get all the outputs

[idicies{1:ndims(arr)}] = ind2sub(size(arr), linearIndex)

### More Answers (2)

RONG
1 minute ago

% Suppose X is your array

X = [3, 5, 7, 5, 9];

% Find the index of the element 5

index = find(X == 5);

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!