reverse indexing with conditions

11 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)

Tags

Community Treasure Hunt

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

Start Hunting!