reverse indexing with conditions

16 views (last 30 days)
cgo
cgo on 9 Nov 2015
Commented: cgo on 9 Nov 2015
Let A = [1 2 4 6 10], I want to find the indices of the matrix for which the element less than 5.
So if I say: A < 5, then it will return [1 1 1 0 0]. How can I proceed to get the index of all those 1's?
Thanks

Accepted Answer

TastyPastry
TastyPastry on 9 Nov 2015
idx = 1:numel(A);
mask = A < 5;
idx = idx(mask);

More Answers (1)

Thorsten
Thorsten on 9 Nov 2015
Edited: Thorsten on 9 Nov 2015
To get numerical indices, use find
idx = find(A < 5);
You can also use logical indices, that are often faster:
idx = A < 5;
In both cases you get the indexed numbers using
A(idx)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!