在 numpy 中在规定的间隔(不是 [0,1))上生成 NxM 均匀分布的随机数数组

我知道 numpy.random.rand() 命令,但是似乎没有任何变量允许您将选择数字的统一间隔调整为 [0,1) 以外的值。

我考虑使用 for 循环,即启动所需大小的零数组,并使用 numpy.random.unifom(a,b,N) 在区间 (a,b) 中生成 N 个随机数,然后将它们放入启动数组。我不知道这个模块会创建一个任意维度的数组,就像上面的 rand 一样。这显然是不雅的,尽管主要关注的是运行时间。我认为这种方法的运行时间比从一开始就使用适当的随机数生成器要长得多。

编辑和额外的想法:我工作的间隔是 [0,pi/8),它小于 1。严格来说,如果我只是重新缩放,我不会影响生成数字的随机性,而是将每个生成的随机数相乘number 显然是额外的计算时间,我假设元素数量的顺序。


慕容708150
浏览 251回答 2
2回答

天涯尽头无女友

np.random.uniform 接受低点和高点:In [11]: np.random.uniform(-3, 3, 7)  # 7 numbers between -3 and 3Out[11]: array([ 2.68365104, -0.97817374,  1.92815971, -2.56190434,  2.48954842, -0.16202127, -0.37050593])

大话西游666

numpy.random.uniform接受一个size参数,您可以在其中将数组的大小作为元组传递。用于生成MxN数组使用np.random.uniform(low,high, size=(M,N))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python