##补充 np.linspace(1, 10, 20) #20个数据 默认endpoint=true 默认生成的数据量个数为50个,但这里我们指定20
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
在指定的间隔内返回均匀间隔的数字。
返回num均匀分布的样本,在[start, stop]。
这个区间的端点可以任意的被排除在外。
np.linspace(1, 10).shape
输出(50,)
np.linspace(1, 10)
输出
array([ 1. , 1.18367347, 1.36734694, 1.55102041, 1.73469388, 1.91836735, 2.10204082, 2.28571429, 2.46938776, 2.65306122, 2.83673469, 3.02040816, 3.20408163, 3.3877551 , 3.57142857, 3.75510204, 3.93877551, 4.12244898, 4.30612245, 4.48979592, 4.67346939, 4.85714286, 5.04081633, 5.2244898 , 5.40816327, 5.59183673, 5.7755102 , 5.95918367, 6.14285714, 6.32653061, 6.51020408, 6.69387755, 6.87755102, 7.06122449, 7.24489796, 7.42857143, 7.6122449 , 7.79591837, 7.97959184, 8.16326531, 8.34693878, 8.53061224, 8.71428571, 8.89795918, 9.08163265, 9.26530612, 9.44897959, 9.63265306, 9.81632653, 10. ])
>>> 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()
当endpoint被设置为False的时候:
import numpy as np np.linspace(1, 10, 10) 输出:array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])默认是True 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]) np.linspace(1, 10, 10, endpoint = False, retstep= True) 输出: (array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1]), 0.9)
【其他方面类似的用法】
1 arange 2 Similar to linspace, but uses a step size (instead of the number of samples). 3 arange最后一个参数值的是:使用的是步长,而不是样本的数量 4 5 logspace 6 Samples uniformly distributed in log space.
np.arange(1,11,2)
输出:【1,3,4,7,9】
原文:https://www.cnblogs.com/guofen3399/p/13958170.html