阿神2017-05-16 13:31:42
題主沒有說明隨機數列具體要求,例如是整數還是實數,需要滿足什麼統計分佈等等。這裡假設題主需要產生實數,且分佈是中心對稱的。這個分佈不妨用Beta
分佈來構造,因為它允許調整標準差。若隨機變數取為
$$min+(max - min) X,quad X sim Beta{(alpha, alpha)}$$
容易算出這時的標準差為
$$s = frac{max - min}{2sqrt{1+2alpha}}$$
即
$$alpha = frac{(max-min)^2}{8s^2}-frac{1}{2}$$
經過以上分析,用 Mathematica 寫出程式碼就很容易了:
測試下效果。取最小值20,最大值100,標準差15: