我知道 numpy.random.rand() 命令,但是似乎没有任何变量允许您调整将数字选择为 [0,1) 以外的值的统一间隔。
我考虑使用for循环,即启动所需大小的零数组,并使用numpy.random.unifom(a,b,N)在区间(a,b)中生成N个随机数,然后将这些进入启动数组。我不知道这个模块会创建一个任意维度的数组,就像上面的兰特一样。这显然是不优雅的,尽管您主要关心的是运行时间。我认为这种方法的运行时间比从一开始就使用适当的随机数生成器要长得多。
编辑和附加想法:我正在工作的区间是 [0,pi/8),小于 1。严格来说,如果我只是重新缩放,但相乘,我不会影响生成数字的随机性每个生成的随机数显然都会增加额外的计算时间,我认为元素数量的顺序是一个因素。
最佳答案
np.random.uniform
接受低值和高值:
In [11]: np.random.uniform(-3, 3, 7) # 7 numbers between -3 and 3
Out[11]: array([ 2.68365104, -0.97817374, 1.92815971, -2.56190434, 2.48954842, -0.16202127, -0.37050593])
关于python - 在numpy中生成指定间隔(不是[0,1))内均匀分布的随机数的NxM数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54597865/