我有一个关于使用for循环计算概率的问题。
示例:
一个游戏节目有70个数字,其中20个被绘制,11个是正确数字的最大数量(并且给予最高奖金)。
现在,我想将每个结果的概率作为向量来表示,它从for循环得到它的输入。 我的概率知识有点生疏,所以原谅任何错误。
到目前为止我尝试过:
K = 11;
format long;
p = zeros(1,K+1) %my vector
for i = 0:K
p(i+1) = 1/nchoosek(70,i+1)
end
sum(p)
但是,如果A =" win",则不考虑A的补码。我想要实现的目标: 我在索引上升时纠正数字的概率,例如:
p(1)=" 0正确的数字"
p(2)=" 1正确的数字"
p(K + 1)=" 11个正确的数字"
我遇到的问题是让for循环正确分配p(1),同时还有其他正确的。是否可以使用1循环,如果是,如何?
由于
答案 0 :(得分:0)
看起来你的概率计算需要改变。例如,当你计算p(1)来表示0个正确的猜测时,你只需要1 / nchoosek(1,0)。这并不代表您想要的可能性。我相信你想要的是每次从分母中挑选20张牌的总方式(nchoosek(70,20))。实际上,您应该将其分配给循环外的某个值:
event_space= nchoosek(70,20);
如果没有正确的卡片,您需要找出可以选择所有错误的卡片的方式(总共59张中的20张)。这将是nchoosek(59,20)。
然后,你的概率将是:
p(0) = nchoosek(59,20)/event_space
可以选择不同数量的正确数字进行类似的计算(对于1个正确,你选择了19个错误的卡而不是20个,但是你有11个可能正确的卡......它变得棘手!)。我想正确的计算可以按照你的方式放入一个循环,虽然0情况可能是一个应该在循环外完成的特殊情况。
(如果我的概率也生锈了,请有人纠正我!)。