reverse indexing with conditions

16 visualizzazioni (ultimi 30 giorni)
cgo
cgo il 9 Nov 2015
Commentato: cgo il 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

Risposta accettata

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

Più risposte (1)

Thorsten
Thorsten il 9 Nov 2015
Modificato: Thorsten il 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)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by