没有在MATLAB中得到正确的期望

时间:2017-03-01 20:30:56

标签: matlab statistics probability

我试图让随机数生成器工作,但我的期望是不正确的(除非我从根本上误解了某些东西)。

我有这个预设数组:

array = [1 0 0]

我继续使用MATLAB中的rand()函数生成1到3之间的随机索引。

index=round(1+2*rand(1,1),0); %generate random index between 1 and 3

随后,我试图将随机生成的索引访问的条目数组合在一起进行一些迭代:

answer_array=[] %answer holder
for i = 1:1:iterations %Loop for the set number of iterations
     index=round(1+2*rand(1,1),0);
     answer_array=[answer_array array(index)]
end 

然后我尝试将answer_array中的1的数量相加并找出它与迭代次数的比率

temp=0;
for i=1:size(answer_array,2)
    temp=temp+answer_array(1,i) %just sum all array contents as they're either 1 or 0
end

ratio=temp/iterations

无论我设置多大的迭代次数,该比率都会收敛于0.24。 它应该不是0.33吗?我的理由是,如果我自己随机选择索引,我有1/3的机会获得1.因此,如果我继续选择很多次,我的成功几率将会收敛到1/3?

0 个答案:

没有答案