作者tyc5116 (累人啊....)
看板C_and_CPP
標題[問題] 請問亂數的分佈
時間Wed Apr 8 00:26:24 2009
如題,想請問一下,亂數的產生
假設說我要產生100個亂數,範圍是1~100,以以前修matlab的經驗
產生的亂數越多,其分佈會越平均(所以我想c++也許也是這樣)
今天假設我想讓這100個亂數的分佈是不平均的
例如說是常態分佈,或者更近一步的
產生的亂數是70~90的機率是30%
像這樣的條件大概的寫法是怎樣呢,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.143.146.188
1F:推 QQ29:動不到rand()原碼那就只好自己判斷 讓機率分布是你所要的吧 04/08 00:48
2F:→ QQ29:既然70~90機率要30趴 那就用個陣列紀錄70~90之間的亂數有沒有 04/08 00:49
3F:→ QQ29:30個吧(100個亂數的情況下) 04/08 00:49
4F:推 ledia:remap 得到的隨機值吧 04/08 00:54
5F:→ ledia:比如 (0,30)->(70,90) (30,730/8)->(0,70) (730/8,100)-> 04/08 00:54
6F:→ ledia:(90,100) 04/08 00:54
7F:→ tsaiminghan:我覺得這應該有數學方法可以轉換吧 04/08 00:55
8F:→ ledia:一樓的說法不太對, 70~90 機率是 30% 不見得有 30 個 04/08 00:56
9F:→ tsaiminghan:比如你弄個100點在0~100, 然後再加一定的點在70-90 04/08 00:57
10F:→ ledia:就我說的 re-map 就好啦 04/08 00:57
11F:→ tsaiminghan:湊成你要的比率之類的 04/08 00:57
12F:推 tsaiminghan:這問題去數學版問,應該會比較多解答 04/08 01:00
13F:推 QQ29:我的方法比較死XD 不然應該很困難吧 04/08 01:01
14F:推 elfkiller:Z 3 7 16 04/08 08:16
15F:推 VictorTom:樓上好強大....(推XD) 04/08 09:24
16F:推 su35:請上網參考 高斯常態分佈 04/08 21:26
17F:→ tyc5116:嗯...我會再上網查看看 04/08 22:39