MATLAB에서 &와 &&의 차이점은 무엇입니까?
MATLAB에서 &
및 &&
논리 연산자 의 차이점은 무엇입니까 ?
단일 앰퍼샌드 &는 논리 AND 연산자입니다. 이중 앰퍼샌드 &&는 다시 단락 동작을 사용하는 논리 AND 연산자입니다. 단락은 결과가 첫 번째 피연산자 (왼쪽)에 의해 완전히 결정되지 않은 경우에만 두 번째 피연산자 (오른쪽)가 평가됨을 의미합니다.
A 및 B (A 및 B가 평가됨)
A && B (B는 A가 참인 경우에만 평가됨)
&&
그리고 ||
항상 스칼라 입력과 단락을. |
그리고 &
if / while 문에서만 배열 입력과 단락을 가져옵니다. 할당을 위해 후자는 단락되지 않습니다.
자세한 내용은 이 문서 페이지 를 참조하십시오.
다른 이미 언급 된 바와 같이, &
A는 논리적 AND 연산자 와 &&
A는 단락 AND 연산자 . 피연산자가 배열 또는 스칼라에서 작동하는지 여부는 물론 피연산자가 평가 되는 방식이 다릅니다 .
&
(AND 연산자) 및|
(OR 연산자) 는 요소별로 배열 에서 작동 할 수 있습니다 .&&
그리고||
그 결과가 완전히 제 피연산자에 의해 결정되지 않은 경우에만 상기 제 피연산자가 평가되는 단락 버전이다. 이들은 배열이 아닌 스칼라 에서만 작동 할 수 있습니다 .
둘 다 논리적 AND 연산입니다. 그러나 &&는 "단락"연산자입니다. MATLAB 문서에서 :
결과가 첫 번째 피연산자에 의해 완전히 결정되지 않은 경우에만 두 번째 피연산자를 평가한다는 점에서 단락 연산자입니다.
다른 언어와 &
마찬가지로은 논리 비트 연산자이고은 &&
논리 연산입니다.
예를 들어 (내 구문을 용서하십시오).
만약..
A = [True True False True]
B = False
A & B = [False False False False]
..또는..
B = True
A & B = [True True False True]
의 경우 &&
오른쪽 피연산자는 왼쪽 피연산자가 true이고 결과가 단일 부울 값인 경우에만 계산됩니다.
x = (b ~= 0) && (a/b > 18.5)
분명하길 바랍니다.
&& 및 || 있는 단락 스칼라에서 작동 연산자. & 및 | 배열에서 작동하고 또는 루프 표현식 의 컨텍스트에서만 단락을 사용 하십시오 .if
while
조건문 (IF, WHILE 등)에서 사용할 인수를 구성 할 때 좋은 경험 법칙은 항상 && / || 하지 않는 아주 좋은 이유가 없다면 양식. 두 가지 이유가 있습니다 ...
- 다른 사람들이 언급했듯이 && / ||의 단락 동작 대부분의 C와 유사한 언어와 유사합니다. 그 유사성 / 친숙성은 일반적으로 유리한 점으로 간주됩니다.
- && 또는 || 사용 양식 은 벡터 인수에 대한 의도를 결정하기 위해 전체 코드를 작성하도록합니다. a = [1 0 0 1] 및 b = [0 1 0 1] 인 경우 a & b는 참 또는 거짓입니까? MATLAB의 규칙이 기억 나지 않습니다. 대부분의 사람들은 할 수 없습니다. 반면에 && 또는 ||를 사용하면 조건을 해결하기 위해 코드를 "완전히"작성해야합니다.
이렇게하면 & 및 |의 벡터에 대한 MATLAB의 해상도에 의존하는 대신 약간 더 장황하지만 훨씬 안전하고 유지하기 쉬운 코드가 생성됩니다.
참고 URL : https://stackoverflow.com/questions/1379415/whats-the-difference-between-and-in-matlab
'IT story' 카테고리의 다른 글
TextInput에 포커스가있을 때 키보드 뒤에서 창을 자동으로 슬라이드하는 방법은 무엇입니까? (0) | 2020.09.09 |
---|---|
스크럼 스프린트를 계속할 때 번 아웃이 발생할 수 있습니까? (0) | 2020.09.09 |
java.io.PrintWriter와 java.io.BufferedWriter의 차이점은 무엇입니까? (0) | 2020.09.09 |
런타임에 텍스트 상자의 텍스트를 굵게 설정하려면 어떻게합니까? (0) | 2020.09.09 |
Angular 2 구성 요소 생성자 대 OnInit (0) | 2020.09.09 |