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