我知道numpy.random.rand()命令,但是似乎没有任何变量可让您将选择数字的统一间隔调整为[0,1)以外的其他值。
我考虑过使用for循环,即初始化所需大小的零数组,并使用numpy.random.unifom(a,b,N)在间隔(a,b)中生成N个随机数,然后将这些放入初始化数组。我不知道这个模块是要创建一个任意维度的数组,就像上面的rand。尽管您主要关心的是运行时间,但这显然是不雅的。我认为与从一开始就使用适当的随机数生成器相比,该方法的运行时间要长得多。
编辑和其他考虑:我工作的时间间隔是[0,pi / 8)小于1。严格来说,如果我重新缩放,我不会影响所生成数字的随机性,但是会相乘每个生成的随机数显然都将是额外的计算时间,我推测一个因素是元素数量的顺序。
答案 0 :(得分:2)
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])
答案 1 :(得分:1)
numpy.random.uniform
接受一个size
参数,您可以在其中将数组的大小作为元组传递。要生成MxN
数组,请使用
np.random.uniform(low,high, size=(M,N))