int[] r = new int[1000];
ExponentialDistribution exp = new ExponentialDistribution(4.0);
for(int i = 1; i <r.length; i++){
r[i] = (int)exp.sample() + 1 + r[i-1];
}
上述代碼從r [0] = 0到r [999] = 4527填充array [r]。這是一次隨機運行。如果r.length增加到2000,最後一個元素r [1999]增加8963.我試圖找到解決方案來填充數組[r],範圍在0-5000之間。即使r.length增加,數組也應該在這種情況下,如果r [999] < = 5000,那麼r [1999]也應該是< = 5000。使用指數分佈在特定範圍內填充隨機數的陣列
說,r.length表示總數。的事件,數組r的每個元素表示事件發生的時間。總時間是5000單位。動機是,第一個事件發生在時間0和最後一個時間< = 5000,即使r.length增加或減少,兩個事件的發生時間應相應調整。
非常感謝
請花些時間在下次提問 –
@ScaryWombat有什麼不可理解的嗎? –
你並不真正問一個問題。對於「ExponentialDistribution」類來自哪裏的記錄?一個簡單的解決方案是,如果該號碼不符合您的要求,那麼不要使用它,尋找另一個號碼。另外,如果你正在添加'i'(索引),那麼隨着索引的增長,數字 –