作者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