簡體   English   中英

在numpy中以規定的間隔(不是[0,1))生成均勻分布的隨機數的NxM陣列

[英]Generating an NxM array of uniformly distributed random numbers over a stated interval (not [0,1)) in numpy

我知道numpy.random.rand()命令,但是似乎沒有任何變量允許你調整將數字選擇為除[0,1]以外的其他值的均勻間隔。

我考慮使用for循環,即啟動所需大小的零數組,並使用numpy.random.unifom(a,b,N)在區間(a,b)中生成N個隨機數,然后將它們放入啟動數組。 我不知道這個模塊是要創建一個任意維度的數組,就像上面的rand一樣。 這顯然是不優雅的,盡管主要關注的是運行時間。 我認為這種方法比從一開始使用適當的隨機數生成器具有更高的運行時間。

編輯和額外的想法:我工作的時間間隔是[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])

numpy.random.uniform接受一個size參數,你可以將數組的大小作為元組傳遞。 用於生成MxN陣列使用

np.random.uniform(low,high, size=(M,N))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM