numpy.linspace函数具体使用详解

时间:2021-05-22

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

在指定的间隔内返回均匀间隔的数字。

返回num均匀分布的样本,在[start, stop]。

这个区间的端点可以任意的被排除在外。

Parameters(参数):

start: scalar(标量)

The starting value of the sequence(序列的起始点).

stop: scalar

序列的结束点,除非endpoint被设置为False,在这种情况下, the sequence consists of all but the last ofnum+1evenly spaced samples(该序列包括所有除了最后的num+1上均匀分布的样本(感觉这样翻译有点坑)), 以致于stop被排除.当endpointis False的时候注意步长的大小(下面有例子).

num: int, optional(可选)

生成的样本数,默认是50。必须是非负。

endpoint: bool, optional

如果是真,则一定包括stop,如果为False,一定不会有stop

retstep: bool, optional

If True, return (samples,step), wherestepis the spacing between samples.(看例子)

dtype: dtype, optional

The type of the output array. Ifdtypeis not given, infer the data type from the other input arguments(推断这个输入用例从其他的输入中).

New in version 1.9.0.

Returns:

samples: ndarray

There arenumequally spaced samples in the closed interval[start,stop]or the half-open interval[start,stop)(depending on whetherendpointis True or False).

step: float(只有当retstep设置为真的时候才会存在)

Only returned ifretstepis True

Size of spacing between samples.

See also

arange

Similar to linspace, but uses a step size (instead of the number of samples)

.arange使用的是步长,而不是样本的数量

logspace

Samples uniformly distributed in log space.

当endpoint被设置为False的时候

>>> import numpy as np>>> np.linspace(1, 10, 10)array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])>>> np.linspace(1, 10, 10, endpoint = False)array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1])In [4]: np.linspace(1, 10, 10, endpoint = False, retstep= True)Out[4]: (array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1]), 0.9)

官网的例子

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')[<matplotlib.lines.Line2D object at 0x...>]>>> plt.plot(x2, y + 0.5, 'o')[<matplotlib.lines.Line2D object at 0x...>]>>> plt.ylim([-0.5, 1])(-0.5, 1)>>> plt.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章