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。

# 另请参阅

eps | Inf | isfinite | isinf | NaN