getting the index after comparing two logicals

I compared two logicals and their results are as follows: a = [1 0 0 0 1] and b = [0 0 0 0 1]
  1. I wanted to compare these logicals, identifying the corresponding columns where both 1's appear.
  2. Identify which column that is: in this case, column 5.
Thanks

Réponses (2)

Something like this:
a = [1 0 0 0 1];
b = [0 0 0 0 1];
idx = find(a & b)
idx = 5
Though depending on your needs, the usage of find() may be an unnecessary complication, as the intersection of the two vectors can likely be used for logical indexing just the same.
hello
see code below :
a = logical([1 0 0 0 1])
b = logical([0 0 0 0 1])
c = a & b
col_c_is_one = find(c)
gives the following results :
a = 1×5 logical array : 1 0 0 0 1
b = 1×5 logical array : 0 0 0 0 1
c = 1×5 logical array : 0 0 0 0 1
col_c_is_one = 5

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Question posée :

cgo
le 20 Juil 2022

Community Treasure Hunt

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

Start Hunting!

Translated by