2026a
# sign
Sign 函数(符号函数)
# 语法
sign(x)
# 说明
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 Matrix{Float64}:
-1.0 0.0 1.0 1.0 NaN
求矩阵值的符号函数。
M = magic(3) .- 5
sign.(M)
ans = 3×3 Matrix{Int64}:
1 -1 1
-1 0 1
-1 1 -1
求复数的符号函数。
z = 4 - 3*im
sign(z)
ans = 0.8 - 0.6im
绘制符号函数
绘制符号函数,并显示其在过零点处的行为。使用 eps 表示略高于或低于 0 的值。
using TyPlot
x = [-5, -eps(1.0), 0, eps(1.0), 5]
y = sign.(x)
plot(x,y)
ylim([-2 2])
grid("on")

绘制符号函数的实部和虚部
在
首先,使用 meshgrid 创建 -3 < x < 3 和 -3 < y < 3 范围内的值的网格。然后使用 z = x + 1im*y 根据这些值创建复数。
using TyBase
using TyPlot
v = -3:0.1:3
x, y = meshgrid2(v)
z = x .+ 1im .*y
求出 z 的符号函数的实部和虚部。
s = sign.(z)
re = real(s)
i = imag(s)
绘制实部和虚部。
surf(x,y,re)
title("Real part of sign function")
xlabel("x")
ylabel("y")
figure(2)
surf(x,y,i)
title("Imaginary part of sign function")
xlabel("x")
ylabel("y")

# 输入参数
x - 输入标量 | 向量 | 矩阵 | 多维数组
输入,指定为标量、向量、矩阵或多维数组。
如果 x 的元素是 NaN,则 sign 在输出的对应元素中返回 NaN。
数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Float32 | Float64 | UInt8 | UInt16 | UInt32 | UInt64
复数支持: 是