我希望我能解釋得很好,如果我不行,我會再試一次。根據分佈生成一組隨機整數列表
我想要生成一個5個隨機數組成的數組,這些數字加起來最多爲10個,但其分配的間隔爲[0,2n/m]。
我正在使用numpy。
到目前爲止我看起來像這樣的代碼:
import numpy as np
n=10
m=5
#interval that numbers are generated on
randNumbers= np.random.uniform(0,np.divide(np.multiply(2.0,n),fronts),fronts)
#Here I normalize the random numbers
normNumbers = np.divide(randNumbers,np.sum(randNumbers))
#Next I multiply the normalized numbers by n
newList = np.multiply(normNumbers,n)
#Round the numbers two whole numbers
finalList = np.around(newList)
這適用於大多數情況,但四捨五入關閉時,它會加起來9或11,而不是10有沒有如何做我想做的事情,而不必擔心舍入錯誤,或者可能是解決它們的一種方法?如果你希望我能更清楚一點,因爲在談論時我無法解釋我想要做什麼。
這工作,謝謝。 – elais 2010-08-19 04:43:37
它的工作,但你能解釋你的最後一行是怎麼回事?只是讓我知道我在用什麼?我對python非常陌生。 – elais 2010-08-21 04:07:35