gpt4 book ai didi

python numpy 在起始值和结束值之间呈指数间隔的样本

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:18 24 4
gpt4 key购买 nike

numpy.linspace 生成均匀间隔在起始值和结束值之间 float 样本。

print (numpy.linspace(0.0, 1.0, num=9))

# [0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1]

print (numpy.linspace(9000.0, 1000.0, num=9))

# [9000. 8000. 7000. 6000. 5000. 4000. 3000. 2000. 1000.]

如何在起始值和结束值之间生成指数间隔的样本?


例如,2的次方:

[0. 0.016 0.0625 0.141 0.25 0.391 0.562 0.766 1.]

感谢您的任何建议。

最佳答案

对于介于 0 和 1 之间的情况,您可以只取数组的平方:

print (numpy.linspace(0.0, 1.0, num=9)**2 )
# [0. 0.016 0.0625 0.141 0.25 0.391 0.562 0.766 1.]

print (numpy.power(numpy.linspace(0.0, 1.0, num=9), 2) )
# [0. 0.016 0.0625 0.141 0.25 0.391 0.562 0.766 1.]

编辑:

更通用的方法可能是 1) 取起始数和终止数的倒数幂,2) 获取这些值之间的线性间距,3) 返回数组的幂。

import numpy as np

def powspace(start, stop, power, num):
start = np.power(start, 1/float(power))
stop = np.power(stop, 1/float(power))
return np.power( np.linspace(start, stop, num=num), power)

print( powspace(0, 1, 2, 9) )
# [0. 0.016 0.0625 0.141 0.25 0.391 0.562 0.766 1.]

然后你可以在任何正值之间移动。例如,从 9000 到 1000,值间隔为 3 的次方:

print( powspace(9000, 1000, 3, 9) )
# [9000. 7358.8 5930.4 4699.9 3652.6 2773.7 2048.5 1462.2 1000.]

关于python numpy 在起始值和结束值之间呈指数间隔的样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com