【发布时间】:2014-10-24 14:26:20
【问题描述】:
如果我掷硬币 100 次,正好 50 次正面朝上的概率是多少?我的想法是从 1000 次中获得 100 次硬币翻转中恰好出现 50 次的次数,然后将其除以 1000,即事件数。 我必须在 Matlab 中对这个实验进行建模。 我知道掷硬币 100 次并检索正面的数量并将计数添加到正好 50 个正面的数量是一个事件。但我不知道如何重复该事件 1000 次或 10000 次。
这是我目前写的代码:
total_flips=100;
heads=0;
tails=0;
n=0;
for z=1:1000
%tosses 100 coins
for r=1:100
%randomizes to choose 1 or 0, 0 being heads
coin=floor(2*rand(1));
if (coin==0)
heads=heads+1;
else
tails=tails+1;
end
end
if heads==50
n=n+1;
end
end
我尝试在 for 循环中包含 for 循环和 if 语句,但没有运气。如何重复?
【问题讨论】:
-
请告诉我们您尝试将 for 循环和 if 语句放在另一个 for 循环中。这是正确的做法,让我们看看你做错了什么。
-
这是一道数学题,你可以分析解决,你不需要matlab来解决...
-
我知道,但是该课程需要提供 Matlab 模型以及计算。
-
我遇到的问题是,当我尝试重复 for 循环和 for 循环中的 if 语句时,n 不计数
-
注意概率理论上可以计算为
binopdf(50, 100, .5)
标签: matlab for-loop coin-flipping