Python numpy.linspace ведет себя странно с плавающей точкой - PullRequest
0 голосов
/ 29 августа 2018

У меня проблема с NumPy Linspace

import numpy as np

temp = np.linspace(1,2,11)

for t in temp:
    print(t)

Это возвращение:

1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7000000000000002
1.8
1.9
2.0

Значение 1,7 выглядит определенно неправильно.

Кажется, связано с этим вопросом https://github.com/numpy/numpy/issues/8909

У кого-нибудь была такая проблема с numpy.linspace? это известная проблема?

Франсуа

1 Ответ

0 голосов
/ 29 августа 2018

Это не имеет ничего общего с numpy, рассмотрим:

>>> temp = np.linspace(1,2,11)
>>> temp
array([1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. ])
>>> #                                     ^ look, numpy displays it fine
>>> for t in temp:
...     print(t)
... 
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7000000000000002
1.8
1.9
2.0

Проблема заключается в том, как компьютеры представляют поплавки в целом. Смотри: https://docs.python.org/3/tutorial/floatingpoint.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...