【发布时间】:2019-12-18 18:43:48
【问题描述】:
在 Julia 中制作了如下矩阵
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
你能告诉我问题是什么吗?
【问题讨论】:
-
我为你搜索了“Julia Nan”:discourse.julialang.org/t/julia-test-if-number-is-nan/25642/2。见上一篇。
-
请参阅docs.julialang.org/en/latest/manual/mathematical-operations/…,因为这可能是您正在寻找的。特别是
==和isequal之间的区别。 -
这与数组无关,而且与Julia无关,在IEEE浮点标准中有规定。如果你在 Julia、Python、Matlab 或任何其他语言中尝试
NaN == NaN,你将得到false。