Main Content

sign

부호 함수(Signum Function)

구문

설명

예제

Y = sign(x)x와 동일한 크기의 배열 Y를 반환합니다. 이때 Y의 각 요소는 다음과 같습니다.

  • x의 대응 요소가 0보다 크면 1.

  • x의 대응 요소가 0과 같으면 0.

  • x의 대응 요소가 0보다 작으면 -1.

  • x가 복소수이면 x./abs(x).

예제

모두 축소

숫자의 부호 함수를 구합니다.

sign(2)
ans = 1

벡터 값의 부호 함수를 구합니다.

V = [-11 0 1.5 Inf NaN];
sign(V)
ans = 1×5

    -1     0     1     1   NaN

행렬 값의 부호 함수를 구합니다.

M = magic(3) - 5;
sign(M)
ans = 3×3

     1    -1     1
    -1     0     1
    -1     1    -1

복소수의 부호 함수를 구합니다.

z = 4 - 3*i;
sign(z)
ans = 0.8000 - 0.6000i

부호 함수를 플로팅하고 영점교차 지점에서의 동작을 보여줍니다. eps를 사용하여 0 바로 위/아래에 있는 값을 표시합니다.

x = [-5 -eps(1) 0 eps(1) 5];
y = sign(x);
plot(x,y)
ylim([-2 2])
grid on

Figure contains an axes object. The axes object contains an object of type line.

-3<x<-3-3<y<3 범위에 대해 부호 함수의 실수부와 허수부를 플로팅합니다.

먼저, meshgrid를 사용하여 -3 < x < 3-3 < y < 3 범위에 대해 값의 메시를 만듭니다. 그런 다음 z = x + 1i*y를 사용하여 이러한 값에서 복소수를 만듭니다.

v = -3:0.1:3;
[x, y] = meshgrid(v);
z = x + 1i*y;

z의 부호 함수의 실수부와 허수부를 찾습니다.

s = sign(z);
re = real(s);
im = imag(s);

실수부와 허수부를 플로팅합니다.

surf(x,y,re)
title('Real part of sign function')
xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object with title Real part of sign function, xlabel x, ylabel y contains an object of type surface.

figure(2)
surf(x,y,im)
title('Imaginary part of sign function')
xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object with title Imaginary part of sign function, xlabel x, ylabel y contains an object of type surface.

입력 인수

모두 축소

입력값으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다.

x의 요소가 NaN인 경우 sign은 출력값의 대응하는 요소에 NaN을 반환합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
복소수 지원 여부:

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |