NaN的Python语言原因(除零外)

NaN的Python语言原因(除零外),python,nan,Python,Nan,我现在有点不知所措,我有一个程序可以很好地处理大多数参数,但是对于一些参数,它抛出了一个NaN异常。问题似乎在于计算略大于1的值。我有一个类似于f(x,t)的函数,对于x的大值,f随t迅速增加,没有问题,但是对于x的小值,f随t缓慢增加。对于较小的x值,它根本不起作用(表示离散时间步长的数组): 我不明白NaN是如何返回值的,这些值显然没有趋于无穷大,并且略大于1。是否存在可能引发此异常的数据类型问题 对于较大的x值,行为可能如下所示: 1.0 1.000000000000074 1.00000

我现在有点不知所措,我有一个程序可以很好地处理大多数参数,但是对于一些参数,它抛出了一个NaN异常。问题似乎在于计算略大于1的值。我有一个类似于f(x,t)的函数,对于x的大值,f随t迅速增加,没有问题,但是对于x的小值,f随t缓慢增加。对于较小的x值,它根本不起作用(表示离散时间步长的数组):

我不明白NaN是如何返回值的,这些值显然没有趋于无穷大,并且略大于1。是否存在可能引发此异常的数据类型问题

对于较大的x值,行为可能如下所示:

1.0
1.000000000000074
1.000000000000486
1.000000000000888
等等,没有任何问题

明确表示PositiveInfinity/PositiveInfinity将返回NaN。(并谈到使用PosInf=1e300000作为正向可靠性的值,但也指出这不是可移植的或不丑陋的)

表示以下附加示例:

  • 将NaN作为至少一个操作数的操作
  • 不确定形式
    • 分区0/0和±∞/±∞ (分别如您的问题和上文所述)
    • 乘法0×±∞ 和±∞×0
    • 补充∞ + (−∞), (−∞) + ∞ 和等价减法
    • 本标准具有以下替代功能:
      • 标准的
        pow
        函数和整数指数
        pown
        函数定义0^0,1∞, 及∞0作为1。(注意,我希望使用的0**0或至少与python 2.7中的pow类似的0**0返回1)
      • powr
        函数将所有三种不确定形式定义为无效操作,因此返回NaN
      • 具有复杂结果的实际操作,例如:[对于我尝试的所有操作,使用math.sqrt、math.log、math.asin而不是在python中抛出math Domain Error而不是返回NaN]
        • 负数的平方根
        • 负数的对数
        • 小于的数字的反正弦或余弦−1或大于+1

我们必须查看您的代码才能进行评论…如果不查看实际代码,我们就无法发表任何意见。顺便说一句:数据类型本身没有问题。唯一可能出现问题的是您使用它们的方式。请共享您的代码。更准确地说,请共享一个。不要共享所有代码。没有人愿意涉过60行很抱歉,各位,我花了三个小时在这个程序上(超过300行,所以我不认为在这里发布它是公平的)。我最终找到了一个0/0,我只是想知道除了除以0(或者通常是数学上未定义的东西)之外还有什么其他东西吗无论如何,如果有,我的代码不是一个例子。
1.0
1.000000000000074
1.000000000000486
1.000000000000888