getting the index after comparing two logicals

4 visualizaciones (últimos 30 días)
cgo
cgo el 20 de Jul. de 2022
Respondida: Mathieu NOE el 20 de Jul. de 2022
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

Respuestas (2)

DGM
DGM el 20 de Jul. de 2022
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.

Mathieu NOE
Mathieu NOE el 20 de Jul. de 2022
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

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by