if conditional 2 out of 3
조회 수: 2 (최근 30일)
이전 댓글 표시
I have three groups of number which can be 0 or 1. like A, B and C. I want to write a conditional to be true if 2 of three values were 1. How can I do that?
The simplest way would be like:
if (A==1 && B==1) or (A==1 && C==1) or (B==1 && c==1)
end
but I am searching for sth shorter.
Any idea?
댓글 수: 0
채택된 답변
KALYAN ACHARJYA
2020년 5월 11일
편집: KALYAN ACHARJYA
2020년 5월 11일
(A+B+C)>=2
댓글 수: 2
Walter Roberson
2020년 5월 12일
If the values can be something other than 0 and 1, it is not clear how you want to compare them.
(A~=0) + (B~=0) + (C~=0) >= 2 %non-zeros
or
nnz([A,B,C]) >= 2 %non-zeros
or
sum([A,B,C] == SomeValue) >= 2 %match SomeValue specifically
or
nnz([A,B,C] == SomeValue) >= 2 %match SomeValue specifically
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Conditional Mean Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!