MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
Sign 函数(符号函数)
sign(x)
Y = sign(x) 返回与 x 大小相同的数组 Y,其中 Y 的每个元素是:
x
Y
1,前提是 x 的对应元素大于 0。
1
0
0,前提是 x 的对应元素等于 0。
-1,前提是 x 的对应元素小于 0。
-1
x./abs(x),前提是 x 为复数。
x./abs(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 的值。
eps
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 根据这些值创建复数。
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 的符号函数的实部和虚部。
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。
NaN
sign
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
duration
全部展开
sign 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
sign 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
abs | conj | imag | real
abs
conj
imag
real
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处