【发布时间】:2017-11-11 21:55:42
【问题描述】:
简而言之,我遇到的问题是这样的:
aa = np.arange(-1., 0.001, 0.01)
aa[-1]
Out[16]: 8.8817841970012523e-16
实际上,这会导致一系列问题,因为我的模拟不允许正值输入。
我可以通过以下方式解决问题:
aa = np.arange(-100, 1, 1)/100.
aa[-1]
Out[21]: 0.0
但这很痛苦。实际上,您不能每次都这样做。
这似乎是一个基本问题。一定有我在这里想念的东西。 顺便说一句,我使用的是 Python 2.7.13。
【问题讨论】:
-
linspace有帮助,但不能解决所有问题。 -
是的,我有时会使用 linspace。但你知道有时 arange 更方便:)
-
尝试使用
linspace。浮点数本质上具有一些噪声,并且 arange (精确地)不适用于非整数增量。或者,如果必须,手动将最后一个元素设置为 0.0。 -
他们在 python 3 中修复了这个问题吗?
-
用有限位表示实数的基本限制无法通过版本升级来解决。