sign

Знаковая функция (сигнум-функция)

Синтаксис

Описание

пример

Y = sign(x) возвращает массив Y тот же размер как x, где каждый элемент Y :

  • 1 если соответствующий элемент x больше 0.

  • 0 если соответствующий элемент x равняется 0.

  • -1 если соответствующий элемент x меньше 0.

  • x./abs(x) если 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

Постройте действительные и мнимые части знаковой функции -3<x<-3 и -3<y<3.

Во-первых, создайте сетку значений по -3 < x < 3 и -3 < y < 3 использование meshgrid. Затем создайте комплексные числа из этих значений с помощью 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(2)
surf(x,y,im)
title('Imaginary part of sign function')
xlabel('x')
ylabel('y')

Входные параметры

свернуть все

Введите, заданный как скаляр, вектор, матрица или многомерный массив.

Если элемент x isnan, затем sign возвращает NaN в соответствующем элементе выхода.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
Поддержка комплексного числа: Да

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | |

Представлено до R2006a