Main Content

sign

Sign 函数(符号函数)

语法

说明

示例

Y = sign(x) 返回与 x 大小相同的数组 Y,其中 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 范围内绘制符号函数的实部和虚部。

首先,使用 meshgrid 创建 -3 < x < 3-3 < y < 3 范围内的值的网格。然后使用 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 的元素是 NaN,则 sign 在输出的对应元素中返回 NaN

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
复数支持:

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| | |