Hi,
I have two vectors =
resp = [1 2 3 1 1 2 3 3 3 1];
fing = [1 2 1 2 1 1 1 2 2 1];
How do I find the indices of resp where resp ==1 and fing ==1 (for instance in this example, this would be index 1 of resp, index 5 of resp, and index 10 of resp)?
Many thanks

 Réponse acceptée

Adam
Adam le 23 Juin 2017
Modifié(e) : Adam le 23 Juin 2017
find( resp == 1 & fing == 1 );
If you don't need the actual linear indices though then the logical vector returned by just
resp == 1 & fing == 1
will work as an index into other arrays if needed and is more efficient than finding the linear indices first.

1 commentaire

MiauMiau
MiauMiau le 23 Juin 2017
oh my, so simple...I was trying find(resp(resp==1&fing==1)) which delivered indices of the subset. Many thanks

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 23 Juin 2017
clc; clear all ;
resp = [1 2 3 1 1 2 3 3 3 1];
fing = [1 2 1 2 1 1 1 2 2 1];
idx1 = find(resp==1)
idx2 = find(resp==2)

1 commentaire

MiauMiau
MiauMiau le 23 Juin 2017
?? That is not answering my question at all. Where are you making use of "fing" in your example..?

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by