can anyone help me ...Write a MATLAB m-file function (dice.m) which simulates one or more dice with each die giving values from 1 to 6

1 次查看(过去 30 天)
The program takes a single argument which is the number of dice.
The output should contain the values of the dice and also the probability for this combination of dice to occur. The probability is expressed as a decimal value between 0 and 1 with five decimal points

回答(1 个)

Antonio Aguirre
Antonio Aguirre 2016-12-21
编辑:Walter Roberson 2016-12-21
function [prob varargout] = diceSim(numDice)
% Generates random numbers from 1 to 6
% Store them in a matrix of size [numDice,1]
diceVal = randi(6,numDice,1);
% Determines the probabilty of rolling a particular combo, for a six
% sided die an individual probability is (1/6), thus having 'n' number
% of independent probability die then for 'n' number of die the
% combined probability is simply (1/6)^n
prob = (1/6)^numDice;
% Pre-allocates a cell for the variable sized output argument
% 'varargout', just for speed
varargout = cell(numDice,1);
% Loop over all the dice values and set the value for each dice into
% the output cell
for i=1:numDice
varargout{i} = diceVal(i,1);
end
% Example use of this in a main.m file would be
% numDice = 3;
% [prob d1 d2 d3] = diceSim(numDice);
end

类别

Help CenterFile Exchange 中查找有关 Adding custom doc 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by