バイアス コインを扱う MATLAB の問題について質問があります。次のデータセットに従って動作する、表が出る確率を持つバイアス コインをシミュレートしたいとしますp ={0.5,0.4,0.3,0.2, 0.1}
。
このデータセットから架空のコインを任意に選択し、Nが100から1000のステップ サイズでN回反転されたコインについて MATLAB で偏りがないかどうかを判断するにはどうすればよいでしょうか。私は Matlab の知識が限られているため、このプロジェクトを支援するための指針を得たいと考えています。いくつかの指針があるこのサイトを見つけましたhttp://www.wikihow.com/Simulate-a-Fair-Coin-Toss-With-a-Biased-Coin
コインを2回弾くための私のmatlabコード
function side = simulateOneToss
% Make two tosses (outcomes 0 and 1 could stand for heads and tails)
twoTosses = round(rand(1,2));
% If outcome is not HT or TH (both of which sum to 1), try again.
while sum(twoTosses) ~= 1
twoTosses = round(rand(1,2));
end
% Take first of the two tosses as the answer.
side = twoTosses(1);
問題の私の最初のコード
function outcome = mysim(p, N)
P = cumsum(p);
u = rand(1, N);
outcome = zeros(1, N); % A blank array for holding the outcomes `enter code here`
for n=100:100:N,
h = find(u(n)<P, 1 );
outcome(n) = h;
end