【发布时间】:2016-07-03 06:25:09
【问题描述】:
我只需要您对蒙特卡洛模拟的帮助。这就是问题所在。
在掷出两个骰子时,共有 7 个出现,概率为 1/6。 在 100 次骰子中,有 5 次的概率是多少 会出现连续的七卷吗?
(这是 M. Meerschaert 的数学建模和模拟练习)
我用 R 做了一个伪代码:
dice.sims1 = function(trials){
occur
for (j in 1:trials){
x = 0
y = 0
n = 0
result = NULL
while (n<100){
n = n+1
result[n] = sample(1:6,1) + sample(1:6,1)
if(result[n] == 7){
x = x+1
}else {x = 0}
if(x>=5){
y = y+1
}
}
occur[j] = y
}
print(mean(occur)/100)
}
这是正确的吗?如果是这样,我如何解释我的结果? 如果不正确,可以帮我改正吗?
谢谢,祝你有美好的一天。
【问题讨论】:
-
真的吗?第二行
occur在做什么?除非在您没有显示给我们的代码中声明,否则会产生错误Error in dice.sims1(10000) : object 'occur' not found -
不管怎样,模数不明确的问题(
5 in a row到底是怎么定义的?),经过一些修改看起来还可以,请检查答案 -
我忘了设置发生 = NULL,先生。对不起。但在我编辑的代码中,我可以运行。
-
请不要叫我先生,这让我很紧张......
-
先生,我对我之前的代码感到非常抱歉。无论如何,我能够在设置发生 = NULL 后运行它。关于连续 5 次,我在下面解释了我的论点,为什么我将 6 次连续的 7 视为两次。我也不清楚我们是否应该将其算作一两个,但这就是我将为我的答案辩护的方式。非常感谢您,先生。
标签: simulation probability modeling montecarlo