python中space_Python numpy.geomspace函数方法的使用

numpy.geomspace

numpy.geomspace(start, stop, num=50, endpoint=True, dtype=None, axis=0)[source]

返回数字以对数刻度(几何级数)均匀分布。

这类似于 logspace,但是直接指定了端点。 每个输出样本是前一个样本的恒定倍数。

Changed in version 1.16.0: Non-scalar start and stop are now supported.参数 :start :array_like

序列的起始值。

stop :array_like

序列的最终值,除非端点为False。 在这种情况下,

num + 1值在对数空间的间隔内间隔开,

返回除最后一个(长度为num的序列)外的所有值。

num :integer, 可选

要生成的样本数。 默认值为50。

endpoint :boolean, 可选

如果为true,则停止是最后一个样本。

否则,不包括在内。 默认值为True。

dtype :dtype

输出数组的类型。 如果未给出dtype,

则从其他输入参数推断数据类型。

axis :int, 可选

结果中的轴用于存储样本。

仅当start或stop类似于数组时才相关。

默认情况下为(0),样本将沿着在开始处插入的新轴。

使用-1来获得轴的末端。

1.16.0版中的新功能。

返回值 :samples :ndarray

num个samples,以对数刻度等距分布。

Notes

如果输入或dtype是复数,则输出将在复数平面中遵循对数螺旋。 (有无限数量的螺旋线穿过两个点;输出将遵循最短的这种路径。)

例子>>> np.geomspace(1, 1000, num=4)

array([ 1., 10., 100., 1000.])

>>> np.geomspace(1, 1000, num=3, endpoint=False)

array([ 1., 10., 100.])

>>> np.geomspace(1, 1000, num=4, endpoint=False)

array([ 1. , 5.62341325, 31.6227766 , 177.827941 ])

>>> np.geomspace(1, 256, num=9)

array([ 1., 2., 4., 8., 16., 32., 64., 128., 256.])

请注意,以上可能不会产生确切的整数:>>> np.geomspace(1, 256, num=9, dtype=int)

array([ 1, 2, 4, 7, 16, 32, 63, 127, 256])

>>> np.around(np.geomspace(1, 256, num=9)).astype(int)

array([ 1, 2, 4, 8, 16, 32, 64, 128, 256])

允许负,递减和复杂的输入:>>> np.geomspace(1000, 1, num=4)

array([1000., 100., 10., 1.])

>>> np.geomspace(-1000, -1, num=4)

array([-1000., -100., -10., -1.])

>>> np.geomspace(1j, 1000j, num=4) # Straight line

array([0. +1.j, 0. +10.j, 0. +100.j, 0.+1000.j])

>>> np.geomspace(-1+0j, 1+0j, num=5) # Circle

array([-1.00000000e+00+1.22464680e-16j, -7.07106781e-01+7.07106781e-01j,

6.12323400e-17+1.00000000e+00j, 7.07106781e-01+7.07106781e-01j,

1.00000000e+00+0.00000000e+00j])

endpointparameter的图形化图示:>>> import matplotlib.pyplot as plt

>>> N = 10

>>> y = np.zeros(N)

>>> plt.semilogx(np.geomspace(1, 1000, N, endpoint=True), y + 1, 'o')

[]

>>> plt.semilogx(np.geomspace(1, 1000, N, endpoint=False), y + 2, 'o')

[]

>>> plt.axis([0.5, 2000, 0, 3])

[0.5, 2000, 0, 3]

>>> plt.grid(True, color='0.7', linestyle='-', which='both', axis='both')

>>> plt.show()

download?id=5f8056f2dc72d90263e632e7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值