getting the index after comparing two logicals

6 ビュー (過去 30 日間)
cgo
cgo 2022 年 7 月 20 日
回答済み: Mathieu NOE 2022 年 7 月 20 日
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

回答 (2 件)

DGM
DGM 2022 年 7 月 20 日
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 2022 年 7 月 20 日
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

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by