Результат функции linspace - PullRequest
       5

Результат функции linspace

0 голосов
/ 29 сентября 2019

Не могли бы вы объяснить мне этот результат, пожалуйста?Я ожидал значение как [0, 0.1, 0.4, 0.9, ...].

>>> np.linspace(0, 1, 10) ** 2
array([0.        , 0.01234568, 0.04938272, 0.11111111, 0.19753086,
       0.30864198, 0.44444444, 0.60493827, 0.79012346, 1.        ])

1 Ответ

1 голос
/ 29 сентября 2019

np.linspace(0, 1, 10) дает десять значений , включая обе конечные точки :

>>> np.linspace(0, 1, 10)
array([0.        , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
       0.55555556, 0.66666667, 0.77777778, 0.88888889, 1.      ])

Когда вы возводите эти значения в квадрат, вы получаете числа, которые видите.Это называется «проблема ограждения» ;10 постов дают вам только 9 панелей:

1 2 3 4 5 6 7 8 9 10
|-|-|-|-|-|-|-|-|-|
 1 2 3 4 5 6 7 8 9

, поэтому каждый шаг на самом деле 1/9, а не 1/10.Я думаю, что вы хотели:

>>> np.linspace(0, 1, 11) ** 2
array([0.  , 0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81, 1.  ])

В качестве альтернативы, если вы не хотите 1. в конце, вы можете явно исключить конечную точку для документов :

>>> np.linspace(0, 1, 10, endpoint=False) ** 2
array([0.  , 0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...