找出你在一个掷骰子桌上用一卷两个骰子或蛇眼(两个)滚动七个的概率。指定将7转换为变量的概率 叫做probSeven。指定将两个滚动到一个名为的变量的概率 probSnakeEyes
这是我到目前为止的想法,但是我在编写一个随机的两个骰子时遇到了麻烦?还要找到蛇眼的概率可以检查
roll1 ==1 && roll2==1
是否有效?我只是抛出一些想法,我不确定什么是最有效的。 P.s Im有点困,所以可能会有一些语法错误。感谢您的帮助。
function P = diceroll(I,n)
%simulate n # of rolls
if I = 7;
%first die
for i = 1:6
%second die
for j = 1:6
如果我想模拟滚动两个骰子(i和j),下面的代码是否有可能?我只熟悉在MATLAB中对roll one die进行编码。我该如何实施两个骰子?
dice = randi([1,6],[1,n]);
%probability of rolling a I=7 from two dice
% n = simulated roll of die once,
probSeven = m/n
答案 0 :(得分:2)
虽然这个问题很容易用代数方法解决,或者只考虑2个骰子的所有可能组合(只有36个)。如果你想通过数值模拟来做到这一点。
要掷两个骰子,我会生成一个带有randi的2 * n矩阵。例如randi(6, 2, n)
。
然后将两个骰子相加以获得每个骰子的分数,并找到给出你想要的分数的卷数。
重要的是要注意这种数值方法永远不会给出确切的答案,答案的准确性将取决于卷数。我会使用n = 1e4作为最小值,但调查结果如何随着n的变化收敛可能会很有意思(尽管记住再次运行相同数量的骰子可能会给出不同的答案,因为它是随机过程)。