знак

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

Синтаксис

sign(x)

Описание

пример

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')

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

свернуть все

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

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

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

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

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

| | |

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