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