文章詳情頁(yè)
java - 如何根據(jù)最小值,最大值和標(biāo)準(zhǔn)差生成數(shù)列
瀏覽:139日期:2024-03-24 09:20:02
問(wèn)題描述
做實(shí)驗(yàn)需要根據(jù)最小值,最大值和標(biāo)準(zhǔn)差生成數(shù)列,編程語(yǔ)言不限,麻煩大神提供個(gè)思想,數(shù)列大小為1000左右
問(wèn)題解答
回答1:題主沒(méi)有說(shuō)明隨機(jī)數(shù)列具體要求,比如是整數(shù)還是實(shí)數(shù),需要滿足什么統(tǒng)計(jì)分布等等。這里假設(shè)題主需要生成實(shí)數(shù),且分布是中心對(duì)稱的。這個(gè)分布不妨用Beta分布來(lái)構(gòu)造,因?yàn)樗试S調(diào)整標(biāo)準(zhǔn)差。若隨機(jī)變量取為
$$min+(max - min) X,quad X sim Beta{(alpha, alpha)}$$
容易算出這時(shí)的標(biāo)準(zhǔn)差為
$$s = frac{max - min}{2sqrt{1+2alpha}}$$
即
$$alpha = frac{(max-min)^2}{8s^2}-frac{1}{2}$$
通過(guò)以上分析,用 Mathematica 寫出代碼就很容易了:
測(cè)試下效果。取最小值20,最大值100,標(biāo)準(zhǔn)差15:
標(biāo)簽:
java
排行榜

熱門標(biāo)簽