How to take logical or of all the elements in the vector without a loop?

3 ビュー (過去 30 日間)
Jay Vaidya
Jay Vaidya 2020 年 11 月 16 日
コメント済み: KSSV 2020 年 11 月 16 日
I am trying to use
or(a(1,1):a(1,size(a,2)))
but it doesn't run for more than 2 elements.
also when I run
or(1,1,0,0.1,0,1)
it doesn't run. It only runs for 2 inputs i.e.
or(1,0)
Is there no direct way that I can take the logical OR of elements a(1,1) to a(1,size(a,2))?
  1 件のコメント
KSSV
KSSV 2020 年 11 月 16 日
Is a a matrix? What exactly you are looking for?

サインインしてコメントする。

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 11 月 16 日
編集済み: Ameer Hamza 2020 年 11 月 16 日
or() is an operator just defined for two inputs. In case of multiple inputs, you can use any() which is equivalent to or of all elements
>> y = any([1,1,0,0,1,0,1])
y =
logical
1
Similarly, all() is equivalent to and of all elements
>> y = all([1,1,0,0,1,0,1])
y =
logical
0

その他の回答 (1 件)

KSSV
KSSV 2020 年 11 月 16 日
Note that you have two types of indexings in MATLAB.
  1. Indexing
This is a number and should be posittive integers greater than 0. If number is negative or fracation, it will throw error.
A = rand(1,10) ;
A(1) % first element
A(end) % last element
A(1:5) % elements from 1 to 5
A(-) % error
A(0) % error
2. Logical indexing
Here indices are 0 and 1's. This would be class of logical.
A = rand(1,10) ;
idx = A>0.5 ; % get elements greater than 0.5. 0 where conditon fails and 1 where condition mets.
A(idx) % this will pick the elements at the above condition satisfies
  4 件のコメント
Jay Vaidya
Jay Vaidya 2020 年 11 月 16 日
編集済み: Jay Vaidya 2020 年 11 月 16 日
Hello, probably I did not make it clear enough.
I want the ans = a(1,1) | a(1,2) | a(1,3) | a(1,4) incase of a 4 element vector.
In other words, I need to OR the elements
like 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0.
where v is the boolean OR operator.
KSSV
KSSV 2020 年 11 月 16 日
a = [1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1] ;
b = a(1)|a(2) ;
for i = 3:length(a)
b = b|a(i) ;
end

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by