gpt4 book ai didi

python - Numpy linspace 不均匀分布

转载 作者:行者123 更新时间:2023-12-05 02:04:44 31 4
gpt4 key购买 nike

我想生成 0 到 1 之间均匀间隔的 50 个数字

首先,我尝试使用 numpy.arange(0,1,0.02),下面是我得到的输出。

[0.   0.02 0.04 0.06 0.08 0.1  0.12 0.14 0.16 0.18 0.2  0.22 0.24 0.26
0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54
0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 0.72 0.74 0.76 0.78 0.8 0.82
0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98]

但是后来看到端点不是这个的一部分,于是想到了用linspacetime = np.linspace(0,1,50) 输出为

[0.         0.02040816 0.04081633 0.06122449 0.08163265 0.10204082
0.12244898 0.14285714 0.16326531 0.18367347 0.20408163 0.2244898
0.24489796 0.26530612 0.28571429 0.30612245 0.32653061 0.34693878
0.36734694 0.3877551 0.40816327 0.42857143 0.44897959 0.46938776
0.48979592 0.51020408 0.53061224 0.55102041 0.57142857 0.59183673
0.6122449 0.63265306 0.65306122 0.67346939 0.69387755 0.71428571
0.73469388 0.75510204 0.7755102 0.79591837 0.81632653 0.83673469
0.85714286 0.87755102 0.89795918 0.91836735 0.93877551 0.95918367
0.97959184 1. ]

我不明白为什么这不是均匀分布的,因为 0.02040816+0.02040816=0.04081632 但在序列中,它显示 0.04081633,请有人解释。为了得到像 arrange 这样的输出,我使用了 np.around

最佳答案

正如 HansHirse 所说,它应该是 np.linspace(0,1,51),因为 np.linspace 不包括最后一个数字。

如果您想使用 np.arange 获得相同的结果,那么只需使用 np.arange(0,1.02,0.02)。只需将最后一个数字添加到 np.arange 中的第二个数字,这样您希望打印的最后一个数字也会打印出来。

希望这对您有所帮助!

关于python - Numpy linspace 不均匀分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64167762/

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