numpy.logspace和numpy.linspace区别对比

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的详细介绍了!

猜你喜欢

转载自blog.csdn.net/qq_42269354/article/details/86584796