비교 연산자
비교 연산자 (Comparison Operators)
비교 연산자는 숫자 값들의 관계(예: 같음)를 비교해요. 관계 연산자(relational operator)로 작성합니다. Octave의 모든 비교 연산자는 비교가 참이면 1, 거짓이면 0을 돌려줘요. Octave 매뉴얼 8.4절을 정리해 볼게요.
본문
Octave의 모든 비교 연산자는 비교가 참이면 1, 거짓이면 0을 돌려줍니다. 행렬 값에 대해서는 모두 원소별(element-by-element)로 동작해요. 방송(broadcasting) 규칙이 적용됩니다 (Broadcasting 참고). 예를 들어:
[1, 2; 3, 4] == [1, 3; 2, 4]
⇒ 1 0
0 1
방송 규칙에 따르면, 한 연산자가 스칼라이고 다른 쪽이 행렬이면 스칼라가 행렬의 각 원소와 차례로 비교되고, 결과는 행렬과 같은 크기가 됩니다.
x < y — x가 y보다 작으면 참.
x <= y — x가 y보다 작거나 같으면 참.
x == y — x가 y와 같으면 참.
x >= y — x가 y보다 크거나 같으면 참.
x > y — x가 y보다 크면 참.
x != y / x ~= y — x가 y와 같지 않으면 참.
복소수에 대해서는 다음과 같은 순서가 정의됩니다: z1 < z2는 다음일 때 그리고 그때만 성립해요:
abs (z1) < abs (z2)
|| (abs (z1) == abs (z2) && arg (z1) < arg (z2))
이것은 max, min, sort가 쓰는 순서와 일치하지만, 실수부만 비교하는 MATLAB과는 일치하지 않아요.
문자열 비교는 strcmp 함수로 수행할 수 있고, 위에 나열한 비교 연산자는 사용하면 안 돼요 (Strings 참고).
eq
TF = eq (A, B)
두 입력이 같으면 참을 돌려줍니다. A == B와 동등해요.
See also: ne, isequal, le, ge, gt, ne, lt.
ge
TF = ge (A, B)
A >= B와 동등합니다.
See also: le, eq, gt, ne, lt.
gt
TF = gt (A, B)
A > B와 동등합니다.
See also: le, eq, ge, ne, lt.
isequal
tf = isequal (x1, x2, …)
x1, x2, …이 모두 같으면 참을 돌려줍니다.
See also: isequaln.
isequaln
tf = isequaln (x1, x2, …)
추가 가정 NaN == NaN(데이터셋에서 NaN 자리값을 비교하지 않음) 아래에서 x1, x2, …이 모두 같으면 참을 돌려줍니다.
See also: isequal.
le
TF = le (A, B)
A <= B와 동등합니다.
See also: eq, ge, gt, ne, lt.
lt
TF = lt (A, B)
A < B와 동등합니다.
See also: le, eq, ge, gt, ne.
ne
TF = ne (A, B)
두 입력이 같지 않으면 참을 돌려줍니다. A != B와 동등해요.
See also: eq, isequal, le, ge, lt.
더 알아보기
- octave-element-by-element-boolean-operators — 요소별 불리언 연산자
- octave-short-circuit-boolean-operators — 단락 불리언 연산자
- octave-statements — 조건·반복문 (별도 문서)