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

1 Ansicht (letzte 30 Tage)
Ammy
Ammy am 23 Feb. 2022
Kommentiert: Stephen23 am 23 Feb. 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 Kommentar
Stephen23
Stephen23 am 23 Feb. 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

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Arif Hoq
Arif Hoq am 23 Feb. 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 Kommentare
Stephen23
Stephen23 am 23 Feb. 2022
Bearbeitet: Stephen23 am 23 Feb. 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by