在茱莉亚中制作如下矩阵
Zt=[10;20];Zb=[30;40]
2-element Array{Int64,1}:
30
40
julia> R1=[Zt Zb]
2×2 Array{Int64,2}:
10 30
20 40
尝试使用以下条件时,它会正常工作
R1[:,1][1]==10
true
但如果矩阵如下:
Zt=[NaN;20];Zb=[30;40]
2-element Array{Int64,1}:
30
40
julia> R1=[Zt Zb]
2×2 Array{Float64,2}:
NaN 30.0
20.0 40.0
尽管R1[:,1][1]
为NaN,但条件为假
R1[:,1][1]==NaN
false
请您告诉我问题是什么?
答案 0 :(得分:1)
改为使用isnan
:
isnan(f) -> Bool
Test whether a floating point number is not a number (NaN).
像这样:
julia> isnan(NaN)
true
julia> R1 = [NaN 20;
30 40]
2×2 Array{Float64,2}:
NaN 20.0
30.0 40.0
julia> R1[:,1][1]
NaN
julia> R1[:,1][1] |> isnan
true
julia> isnan(R1[:,1][1])
true