비교 연산자

비교 연산자 (Comparison Operators)

비교 연산자는 숫자 값들의 관계(예: 같음)를 비교해요. 관계 연산자(relational operator)로 작성합니다. Octave의 모든 비교 연산자는 비교가 참이면 1, 거짓이면 0을 돌려줘요. Octave 매뉴얼 8.4절을 정리해 볼게요.

출처: Comparison Operators

본문

Octave의 모든 비교 연산자는 비교가 참이면 1, 거짓이면 0을 돌려줍니다. 행렬 값에 대해서는 모두 원소별(element-by-element)로 동작해요. 방송(broadcasting) 규칙이 적용됩니다 (Broadcasting 참고). 예를 들어:

[1, 2; 3, 4] == [1, 3; 2, 4]
     ⇒   1  0
         0  1

방송 규칙에 따르면, 한 연산자가 스칼라이고 다른 쪽이 행렬이면 스칼라가 행렬의 각 원소와 차례로 비교되고, 결과는 행렬과 같은 크기가 됩니다.

x < yxy보다 작으면 참.

x <= yxy보다 작거나 같으면 참.

x == yxy와 같으면 참.

x >= yxy보다 크거나 같으면 참.

x > yxy보다 크면 참.

x != y / x ~= yxy와 같지 않으면 참.

복소수에 대해서는 다음과 같은 순서가 정의됩니다: 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 — 조건·반복문 (별도 문서)