Re: [討論] 不公正骰子 寫法已回收
※ 引述《fonlintw0621 (fonlintw0621)》之銘言:
: 程式需求 :
: a. 輸入出現六的機率
: b. 剩餘數字出現機率均勻分配
: clear all;clc;
: r = input('輸入不公正骰子點數6的機率');
: n = r/100 + ([1-r/100] /5) .* [0 1 2 3 4 5];
: for i = 1:100;
: if rand(1) >= 0 & rand(1) < n(1)
: computer(i) = 6 ;
: elseif rand(1) >= n(1) & rand(1) < n(2)
: computer(i) = 5 ;
: elseif rand(1) >= n(2) & rand(1) < n(3)
: computer(i) = 4 ;
: elseif rand(1) >= n(3) & rand(1) < n(4)
: computer(i) = 3 ;
: elseif rand(1) >= n(4) & rand(1) < n(5)
: computer(i) = 2 ;
: else
: computer(i) = 1 ;
: end
: end
: 請問哪裡有錯誤呢 ?
: 我發現 每一項 用 n = n + 1
: 跑 出現1~6 的項數,分配機率跟我預期的不太一樣。
p=0.5 %六出現的機率
n=10000 %抽樣n個
x = randsample(1:6,n,true,[(1-p)/5*ones(1,5) p])
%x:以此不均勻骰子模擬n次
hist(x,[1 : 6]) %畫直方圖檢視點數1~6個出現的次數
可得到1~5次數大約相同 6較高(P(x=6)=0.5)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.27.14
討論串 (同標題文章)