def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,
axis=0):
"""
Return evenly spaced numbers over a specified interval.
Returns num
evenly spaced samples, calculated over the
interval [start
, stop
].
The endpoint of the interval can optionally be excluded.
.. versionchanged:: 1.16.0
Non-scalar start
and stop
are now supported.
.. versionchanged:: 1.20.0
Values are rounded towards
-inf
instead of
0
when an
integer
is specified. The old behavior can
still be obtained with
.linspace(start, stop, num).astype(int)
Parameters
----------
start : array_like
The starting value of the sequence.
stop : array_like
The end value of the sequence, unless endpoint
is set to False.
In that case, the sequence consists of all but the last of
+ 1
evenly spaced samples, so that stop
is excluded. Note that the step
size changes when endpoint
is False.
num : int, optional
Number of samples to generate. Default is 50. Must be non-negative.
endpoint : bool, optional
If True, stop
is the last sample. Otherwise, it is not included.
Default is True.
retstep : bool, optional
If True, return (samples
, step
), where step
is the spacing
between samples.
dtype : dtype, optional
The type of the output array. If dtype
is not given, the data type
is inferred from start
and stop
. The inferred dtype will never be
an integer; float
is chosen even if the arguments would produce an
array of integers.
.. versionadded:: 1.9.0
axis : int, optional
The axis in the result to store the samples. Relevant only if start
or stop are array-like. By default (0), the samples will be along a
new axis inserted at the beginning. Use -1 to get an axis at the end.
.. versionadded:: 1.16.0
Returns
-------
samples : ndarray
There are num
equally spaced samples in the closed interval
[start, stop]
or the half-open interval
[start, stop)
(depending on whether endpoint
is True or False).
step : float, optional
Only returned if retstep
is True
Size of spacing between samples.
See Also
--------
arange : Similar to linspace
, but uses a step size (instead of the
number of samples).
geomspace : Similar to linspace
, but with numbers spaced evenly on a log
scale (a geometric progression).
logspace : Similar to geomspace
, but with the end points specified as
logarithms.
Examples
--------
>>> np.linspace(2.0, 3.0, num=5)
array([2. , 2.25, 2.5 , 2.75, 3. ])
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
array([2. , 2.2, 2.4, 2.6, 2.8])
>>> np.linspace(2.0, 3.0, num=5, retstep=True)
(array([2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
Graphical illustration:
>>> import matplotlib.pyplot as plt
>>> N = 8
>>> y = np.zeros(N)
>>> x1 = np.linspace(0, 10, N, endpoint=True)
>>> x2 = np.linspace(0, 10, N, endpoint=False)
>>> plt.plot(x1, y, 'o')
[]
>>> plt.plot(x2, y + 0.5, 'o')
[]
>>> plt.ylim([-0.5, 1])
(-0.5, 1)
>>> plt.show()
"""
num = operator.index(num)
if num < 0:
raise ValueError("Number of samples, %s, must be non-negative." % num)
div = (num - 1) if endpoint else num
# Convert float/complex array scalars to float, gh-3504
# and make sure one can use variables that have an __array_interface__, gh-6634
start = asanyarray(start) * 1.0
stop = asanyarray(stop) * 1.0
dt = result_type(start, stop, float(num))
if dtype is None:
dtype = dt
delta = stop - start
y = _nx.arange(0, num, dtype=dt).reshape((-1,) + (1,) * ndim(delta))
# In-place multiplication y *= delta/div is faster, but prevents the multiplicant
# from overriding what class is produced, and thus prevents, e.g. use of Quantities,
# see gh-7142. Hence, we multiply in place only for standard scalar types.
_mult_inplace = _nx.isscalar(delta)
if div > 0:
step = delta / div
if _nx.any(step == 0):
# Special handling for denormal numbers, gh-5437
y /= div
if _mult_inplace:
y *= delta
else:
y = y * delta
else:
if _mult_inplace:
y *= step
else:
y = y * step
else:
# sequences with 0 items or 1 item with endpoint=True (i.e. div 1:
y[-1] = stop
if axis != 0:
y = _nx.moveaxis(y, 0, axis)
if _nx.issubdtype(dtype, _nx.integer):
_nx.floor(y, out=y)
if retstep:
return y.astype(dtype, copy=False), step
else:
return y.astype(dtype, copy=False)
返回指定间隔内的等距数字。
返回”num”均匀分布的样本,在 间隔[‘start’,’stop]。返回指定间隔内的等距数字。</strong></p>
<p><strong>可以选择排除间隔的端点。</strong></p>
<p><strong>----------</strong></p>
<p><strong>start:</strong> <strong>array_like</strong></p>
<p><strong>序列的起始值。</strong></p>
<p><strong>stop:</strong> <strong>array_like</strong></p>
<p><strong>序列的结束值,除非"endpoint"设置为False。</strong> <strong>在这种情况下,序列由除最后一个以外的所有<code>num+1组成</code></strong> <strong>均匀分布的样本,以便排除"停止"。请注意,步骤</strong> <strong>当"endpoint"为False时,大小会发生变化。</strong></p>
<p><strong>num:int,可选</strong></p>
<p><strong>要生成的样本数。默认值为50。必须是非负的。</strong></p>
<p><strong>端点:bool,可选</strong></p>
<p><strong>如果为True,"stop"是最后一个示例。否则不包括在内。</strong> <strong>默认是真的。</strong></p>
<p><strong>retstep:bool,可选</strong></p>
<p><strong>如果为True,则返回('samples','step'),其中'step'是间距</strong></p>
<p><strong>在样本之间。</strong></p>
<p><strong>dtype:dtype,可选</strong></p>
<p><strong>输出数组的类型。如果未给出'dtype',则为数据类型</strong> <strong>由"开始"和"停止"推断。推断出的数据类型永远不会被删除</strong> <strong>整数
即使参数会产生 整数数组。
轴:int,可选
结果中用于存储样本的轴。只有在启动时才相关或停止是阵列式的。默认情况下(0),样本将沿着开始处插入新轴。使用-1在末尾获得一个轴。
Returns
——-
samples :Ndaray
在闭合间隔中有’num’等间距的样本
[start,stop]
或半开区间或[start,stop]</code><br> (取决于"endpoint"是真是假)。</strong></p>
<p><strong>step : float, optional<br> 仅当'retstep'为真时返回<br> 样本之间的间距大小。<br> 另见<br>--------<br>arange:与"linspace"类似,但使用步长(而不是样本数量)。<br>geomspace:类似于"linspace",但数字在一根圆木上均匀分布比例(几何级数)。<br>logspace:类似于"geomspace",但端点指定为对数。</strong></p>
<p>
Examples
Original: https://blog.csdn.net/weixin_53660567/article/details/123160542
Author: 长沙有肥鱼
Title: python——linspace函数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/651944/
转载文章受原作者版权保护。转载请注明原作者出处!