首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不均匀分布的Numpy linspace

不均匀分布的Numpy linspace
EN

Stack Overflow用户
提问于 2020-10-02 15:36:17
回答 2查看 744关注 0票数 1

我想生成0到1之间等间距的50个数字

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

代码语言:javascript
复制
[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]

但是后来我发现端点不在其中,所以我考虑使用linspace time = np.linspace(0,1,50),输出是

代码语言:javascript
复制
[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

EN

回答 2

Stack Overflow用户

发布于 2020-10-02 15:46:19

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

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

希望这能对你有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2020-10-02 15:54:00

在0到1 np.linspace(0,1,50)之间均匀分布50个数字是完全正确的!

如果你想得到与np.arange(0,1,0.02)相同的结果,你可以使用np.linspace(0,0.98,50),因为arange函数也会在0.98时停止。

代码语言:javascript
复制
numpy.linspace(0,0.98,50)

array([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])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64167762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档