How to find elements of first matrix based on second matrix?

1 vue (au cours des 30 derniers jours)
Ammy
Ammy le 23 Fév 2022
Commenté : Stephen23 le 23 Fév 2022
I have two matrices A and B
A = [1 2 3 4 5 6 7 8 9 10];
B = [1 0 0 1 0 1 0 1 1 1];
How to find entries of A coresponsing to '1' in B
result = [1 4 6 8 9 10];
  1 commentaire
Stephen23
Stephen23 le 23 Fév 2022
Note that FIND is not required, logical indexing is simpler and more efficient:
A = [1 2 3 4 5 6 7 8 9 10];
B = [1 0 0 1 0 1 0 1 1 1];
C = A(B==1)
C = 1×6
1 4 6 8 9 10

Connectez-vous pour commenter.

Réponses (1)

Arif Hoq
Arif Hoq le 23 Fév 2022
use find function
A = [1 2 3 4 5 6 7 8 9 10];
B = [1 0 0 1 0 1 0 1 1 1];
result=A(find(B==1))
result = 1×6
1 4 6 8 9 10
  2 commentaires
Stephen23
Stephen23 le 23 Fév 2022
Modifié(e) : Stephen23 le 23 Fév 2022
FIND is not required, logical indexing is simpler and more efficient:
A = [1 2 3 4 5 6 7 8 9 10];
B = [1 0 0 1 0 1 0 1 1 1];
C = A(B==1)
C = 1×6
1 4 6 8 9 10
Ammy
Ammy le 23 Fév 2022
@Arif Hoq, @Stephen many thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by