文章詳情頁
java - 如何根據(jù)最小值,最大值和標準差生成數(shù)列
瀏覽:141日期:2024-03-24 09:20:02
問題描述
做實驗需要根據(jù)最小值,最大值和標準差生成數(shù)列,編程語言不限,麻煩大神提供個思想,數(shù)列大小為1000左右
問題解答
回答1:題主沒有說明隨機數(shù)列具體要求,比如是整數(shù)還是實數(shù),需要滿足什么統(tǒng)計分布等等。這里假設(shè)題主需要生成實數(shù),且分布是中心對稱的。這個分布不妨用Beta分布來構(gòu)造,因為它允許調(diào)整標準差。若隨機變量取為
$$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:
標簽:
java
排行榜

熱門標簽