作者warex14 (航)
看板MATLAB
標題[問題]亂數產生
時間Sat Aug 11 20:30:09 2012
因為是MATLAB的新手
目前只有用過亂數產生齊一分配(uniform)跟常態分配(normal)
但是假如今天我拿到一個不公正的骰子
正因為一到六點出現的機率並不是1/6
所以我實際去擲一千次並記錄以逼近這個骰子每個點數出現的機率
(我已經取得data)
如果我還想要透過這些data再去亂數產生100次1~6點又要服從那個機率要怎麼做呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.253.23
1F:推 bleedingsoul:我之前是直接產生0~1之間亂數 再按照離散pdf去分割 08/12 16:39
2F:→ bleedingsoul:(0~1/4屬於1) (1/4~3/4屬於2) (3/4~1屬於3) 這樣做. 08/12 16:41
3F:→ warex14:謝謝 08/14 16:44
4F:推 chariotzy:假設1~6出現的次數(機率)各自是n1~n6(p1~p6) 則可考慮用 08/14 18:42
5F:→ chariotzy:randsrc(1,100,[1:6;p1 p2 p3 p4 p5 p6]) 或 08/14 18:46
6F:→ chariotzy:randsample(1:6,100,true,[p1 p2 p3 p4 p5 p6]) 或 08/14 18:48
7F:→ chariotzy:randsample(1:6,100,true,[n1 n2 n3 n4 n5 n6]) 08/14 18:48
8F:→ warex14:謝謝樓上,這樣好像又更快了 08/19 16:27