隨機化數值
在這個練習中,你會套用並比較不同的隨機化方法。目標是讓你熟悉各種方法,以及它們對隨機數產生方式的影響。這些方法分別適用於不同情境,因此了解它們的差異很重要。
想像有一個商業流程大約需要 15 分鐘完成。不過,你也知道實際時間大約會上下浮動 5 分鐘。請使用 random 套件中的不同隨機化方法,在可控的情況下為這個時間產生不同的變化幅度。
本練習屬於課程
Python 的離散事件模擬
練習說明
- 根據提供的資訊,產生 1000 個以「整數」表示的隨機流程時間。
- 根據提供的資訊,產生 1000 個以「浮點數」表示的隨機流程時間。
- 產生 1000 個以「浮點數」表示、基於「常態分配」的偽隨機流程時間,平均數與標準差分別為 15 與 5。
- 產生 1000 個以「浮點數」表示、基於「指數分配」的偽隨機流程時間,lambda 參數為 1.5(正值),且峰值在 15。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Generate random integer numbers
randint_array = np.array([____ for i in range(1000)])
# Generate random float numbers
uniform_array = np.array([____ for i in range(1000)])
# Generate random float numbers based on the Gaussian distribution
gauss_array = np.array([____ for i in range(1000)])
# Generate random float numbers based on the Exponential distribution
expon_array = np.array([____ + 15 for i in range(1000)])
plot_all(randint_array, uniform_array, gauss_array, expon_array)