On 18 October 2012 03:34, Simon Lieschke <[email protected]> wrote:
> I've discovered calling numpy.arange(1.1, 17.1) and numpy(1.1, 16.1) both
> return the same results. Could this be a numpy bug, or is there some
> behaviour I'm possibly not aware of here?

Not a bug, it's because you're using floating point arguments.

The docstring 
(http://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html)
tells you that "For floating point arguments, the length of the result
is ceil((stop - start)/step)". If you try

In [1]: (17.1-1.1)/1.0
Out[1]: 16.0

In [2]: (16.1-1.1)/1.0
Out[2]: 15.000000000000002

In [3]: np.ceil((17.1-1.1)/1.0)
Out[3]: 16.0

In [4]: np.ceil((16.1-1.1)/1.0)
Out[4]: 16.0

you see that the length of the output array ends up being the same due
to floating point round-off effects.

You can achieve what you want using np.linspace(1.1, 17.1, num=17) etc..

Cheers,
Scott
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to