2026a
# isnan
确定哪些数组元素为NaN
# 语法
TF = isnan(A)
# 说明
TF = isnan(A) 返回一个逻辑数组,其中的 1 (true) 对应 A 中的 NaN 元素,0 (false) 对应其他元素。如果 A 包含复数,则 isnan(A) 中的 1 对应实部或虚部为 NaN 值的元素,0 对应实部和虚部均非 NaN 值的元素。示例
# 示例
确定实数中的NaN元素
创建行向量,并确定哪些元素为 NaN。
A = 0 ./[-2 ,-1 ,0 ,1 ,2]
5-element Vector{Float64}:
-0.0
-0.0
NaN
0.0
0.0
TF = isnan.(A)
5-element BitVector:
0
0
1
0
0
确定复数中的NaN元素
创建一个复数数组。确定这些复数中是否包含 NaN。
A = [2 + 1im, 1/0 + 3im, 1/2 - 1im*NaN]
3-element Vector{ComplexF64}:
2.0 + 1.0im
Inf + 3.0im
NaN + NaN*im
TF = isnan.(A)
3-element BitVector:
0
0
1
替换NaN元素
创建数组并找到具有 NaN 值的元素。
A = [1,3,5,7,NaN,10,NaN,4,6,8]
10-element Vector{Float64}:
1.0
3.0
5.0
7.0
NaN
10.0
NaN
4.0
6.0
8.0
TF = isnan.(A)
10-element BitVector:
0
0
0
0
1
0
1
0
0
0
使用 TF 对 A 进行索引,以访问 A 中的 NaN 元素。将 NaN 值替换为 0。
A[TF] .= 0
A = 10-element Vector{Float64}:
1.0
3.0
5.0
7.0
0.0
10.0
0.0
4.0
6.0
8.0
# 输入参数
A - 输入数组标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。
# 提示
- 如果 x 是实数标量,则 isfinite(x)、isinf(x) 和 isnan(x) 中只有一个返回逻辑值 1 (true)。
- 对于复数标量 z,isinf(z) 和 isnan(z) 都可以返回逻辑值 1。例如,isinf(complex(Inf,NaN)) 和 isnan(complex(Inf,NaN)) 都返回逻辑值 1。