a = b<0
조회 수: 9 (최근 30일)
이전 댓글 표시
What is the meaning of this line?
...
a = b<0;
c = 3*a;
...
Is a IF condition?
댓글 수: 0
채택된 답변
Voss
2023년 1월 22일
편집: Voss
2023년 1월 22일
a = b<0;
checks if b is less than 0 and stores the result in a.
If b is a scalar: if b is less than 0, then a will be true; otherwise a will be false.
If b is a non-scalar array: a will be a logical array the same size as b, with each element being true or false, depending on whether the corresponding element in b is less than 0 or not.
Examples:
b = 2;
a = b<0 % false
b = -2;
a = b<0 % true
b = 0;
a = b<0 % false
b = randn(3) % non-scalar array
a = b<0 % 3-by-3 logical array, true where b<0 and false elsewhere
Then the next line
c = 3*a;
multiplies a by 3 and stores it in c, so c will be an array the same size as a, with the value 3 where a is true and the value 0 where a is false.
Examples:
b = 2;
a = b<0; % false
c = 3*a
b = -2;
a = b<0; % true
c = 3*a
b = 0;
a = b<0; % false
c = 3*a
b = randn(3) % non-scalar array
a = b<0 % 3-by-3 logical array, true where b<0 and false elsewhere
c = 3*a
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!