Sign function (signum function)
sign(x)
example
Y = sign(x) returns an array Y the same size as x, where each element of Y is:
x
Y
1 if the corresponding element of x is greater than 0.
1
0
0 if the corresponding element of x equals 0.
-1 if the corresponding element of x is less than 0.
-1
x./abs(x) if x is complex.
x./abs(x)
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.
eps
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<x<-3 and -3<y<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.
-3 < x < 3
-3 < y < 3
meshgrid
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.
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, 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.
NaN
sign
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration Complex Number Support: Yes
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
duration
This function fully supports tall arrays. For more information, see Tall Arrays.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
abs | conj | imag | real
abs
conj
imag
real
You have a modified version of this example. Do you want to open this example with your edits?