多余的小数左右

时间:2018-10-02 18:41:39

标签: python

我想创建一个向量,其成分是从q到给定数字0.的{​​{1}}有理数。我可以使用以下算法做到这一点

n

它应该返回import numpy as np n = 60. q=200 dn = 1.*n/q X=np.arange(0.,n,dn) print len(X) 。 这种方法在某些情况下有效,例如上面的示例。但是,200可能是有理数或周期数。在那种情况下,它不会被过多地近似,因此dn的长度最终是X而不是q+1。 例如,在q的情况下,算法返回q=220而不是221。 避免此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我认为您想要linspace

X = np.linspace(0, n, q)

这类似于:

gen = (i * n / (q-1.0) for i in range(q))
X = np.fromiter(gen, float)