Было бы полезно посмотреть на источник здесь.Это позволит вам разобраться в том, что делает функция, что даст вам лучшее понимание вывода linspace
.
. Для вычисления размера step
используются два параметра: div
и delta
.Однако разница между endpoint=True
и endpoint=False
заключается в том, что div
равно num-1
, если endpoint=True
, и num
, если endpoint=False
.
div = (num - 1) if endpoint else num
.другие подходящие фрагменты источника (очень уменьшенные):
delta = stop - start
y = _nx.arange(0, num, dtype=dt)
# ...
if num > 1:
step = delta / div
# ...
y = y * step
# ...
y += start
Если мы пройдемся по каждому из этих выводов, выводы получат гораздо больше смысла.
endpoint=True
:
div = num - 1 # 4
y = _nx.arange(0, num, dtype=dt) # [0, 1, 2, 3, 4]
delta = 20 - 10 # 10
step = delta / div # 2.5
y = y * step # [0.0, 2.5, 5.0, 7.5, 10.0]
y += start # [10.0, 12.5, 15.0, 17.5, 20.0]
endpoint=False
:
div = num # 5
y = _nx.arange(0, num, dtype=dt) # [0, 1, 2, 3, 4]
delta = 20 - 10 # 10
step = delta / div # 2
y = y * step # [0.0, 2.0, 4.0, 6.0, 8.0]
y += start # [10.0, 12.0, 14.0, 16., 18.0]