滚动骰子模拟

时间:2011-03-10 08:04:57

标签: matlab simulation probability dice

我必须编写一个脚本,该脚本使用用户输入来滚动一定数量的骰子,具有一定数量的边,具有一定数量的卷,以及一定数量的试验。

我将整个用户输入部分放下,但是我在编写掷骰子功能时遇到了麻烦。

function [ X ] = Dice( N, S, T, R )
% Dice simulates a random selection of numbers which is similar to how a
% dice is rolled
% N is the number of dice the user wants to roll
% S is the number of sides on the dice
% T is the number of trials that the user wants to run.
% R is the number of rolls that the user wants to roll each dice.

D =ceil(S*rand(1,N))

% I used this for one roll of the dice

Counts = hist(D,[1:S]);

% Then I used this to count how many of each number showed up

如何编写代码以便我可以考虑试用和滚动的数量?我知道我可能不得不用for循环做一些事情,但我很困惑,我现在想不出任何东西。

1 个答案:

答案 0 :(得分:1)

ResultMatrix = randi(S,N,R,T)

这为每个试验创建了一组“T”矩阵(第一个矩阵是第一个试验等),每个卷都有“R”列(第1列是第1卷等)和“N”行对于每个掷骰子(第1行是死1等)。当然,这些值从1:S开始,代表滚动的结果。