numpy.logspace:
返回在对数刻度上均匀间隔的数字;即可以通过np.logspace方法创建等比数列数组。
具体用法:
np.logspace(start, stop, num=num, endpoint=endpoint, base=base, dtype=dtype)
简单代码示例:
>>>np.logspace(2.0, 3.0, num=4)
array([ 100. , 215.443469 , 464.15888336, 1000. ])
#代码释义:默认以 10 为底数,生成4(num)个从2.0到3.0之间的次方数数组
>>>np.logspace(2.0, 3.0, num=4, endpoint=False)
array([ 100. , 177.827941 , 316.22776602, 562.34132519])
#代码释义:endpoint=False 表示不计算以 3.0 为次方数的值
>>>np.logspace(2.0, 3.0, num=4, base=2.0)
array([ 4. , 5.0396842 , 6.34960421, 8. ])
#代码释义:base=2.0 表示以2.0位底数计算
画个简单图形示例:
代码:
>>> import matplotlib.pyplot as plt
>>> N = 10
>>> x1 = np.logspace(0.1, 1, N, endpoint=True)
>>> x2 = np.logspace(0.1, 1, N, endpoint=False)
>>> y = np.zeros(N)
>>> 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()
运行结果:
numpy.linspace:
返回间隔为[start, stop]的等间距样本;即可以通过numpy.linspace方法创建等差数列数组。
具体方法:
np.linspace(start, stop, num, endpoint, retstep, dtype)
代码示例:
>>>np.linspace(2.0, 3.0, num=5)
array([ 2. , 2.25, 2.5 , 2.75, 3. ])
#代码释义:创建从 2.0 到 3.0 之间的等分的 5 个数的数组。
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
array([ 2. , 2.2, 2.4, 2.6, 2.8])
#代码释义:endpoint=False 表示结尾 3.0 数字不包含在内。
>>> np.linspace(2.0, 3.0, num=5, retstep=True)
(array([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
#代码释义:retstep=True 表示展示最后的 步长 结果。
画图示例:
代码部分:
>>> 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()
以上就是np.logspace和np.linspace的详细介绍了!