您的位置:首頁技術文章
文章詳情頁

java - 如何根據最小值,最大值和標準差生成數列

瀏覽:127日期:2024-03-24 09:20:02

問題描述

做實驗需要根據最小值,最大值和標準差生成數列,編程語言不限,麻煩大神提供個思想,數列大小為1000左右

問題解答

回答1:

題主沒有說明隨機數列具體要求,比如是整數還是實數,需要滿足什么統計分布等等。這里假設題主需要生成實數,且分布是中心對稱的。這個分布不妨用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 寫出代碼就很容易了:

java - 如何根據最小值,最大值和標準差生成數列

測試下效果。取最小值20,最大值100,標準差15:

java - 如何根據最小值,最大值和標準差生成數列

標簽: java
国产综合久久一区二区三区