我刚刚偶然发现了以下内容:
如果您键入
print sgn(NaN)
结果将是0
。
gnuplot帮助说:
sgn(x(函数如果参数为正,则返回1;如果参数为负,则返回-1;如果参数是0,则返回0。如果参数是一个复值,则忽略虚分量。
但是,NaN
不是正的,不是负的,也不是0。我本以为结果是NaN
。有人能对此发表评论并作出解释吗?
正如@Ethan评论的那样,如果没有一个通用的标准,可能每个人都会根据自己的需求来定义。那么,我只需要定义我自己的sgn(x(函数。
这让我想到了如何与NaN
进行比较,请参阅gnuplot:如何与NaN进行比较?
代码:
mysgn(x) = x==x ? sgn(x) : NaN
print mysgn(999)
print mysgn(0)
print mysgn(-999)
print mysgn(NaN)
结果:
1
0
-1
NaN