# sign

Sign function (signum function)

## Description

example

Y = sign(x) returns an array Y the same size as x, where each element of Y is:

• 1 if the corresponding element of x is greater than 0.

• 0 if the corresponding element of x equals 0.

• -1 if the corresponding element of x is less than 0.

• x./abs(x) if x is complex.

## Examples

collapse all

Find the sign function of a number.

sign(2)
ans = 1

Find the sign function of the values of a vector.

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

-1     0     1     1   NaN

Find the sign function of the values of a matrix.

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

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

Find the sign function of a complex number.

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

Plot the sign function and show its behavior at the zero-crossing. Use eps to represent values just above and below 0.

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

Plot real and imaginary parts of the sign function over $-3 and $-3.

First, create a mesh of values over -3 < x < 3 and -3 < y < 3 using meshgrid. Then create complex numbers from these values using z = x + 1i*y.

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

Find the real and imaginary parts of the sign function of z.

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

Plot the real and imaginary parts.

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

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

## Input Arguments

collapse all

Input, specified as a scalar, vector, matrix, or multidimensional array.

If an element of x is NaN, then sign returns NaN in the corresponding element of the output.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
Complex Number Support: Yes

## Version History

Introduced before R2006a