count number of occurance

5 次查看(过去 30 天)
Me
Me 2022-8-24
评论: Me 2022-8-25
Hi, This is my first code in my life and I am somehow stuck.
Rolling two dice 100 times. sum of the two dice for each roll. The sum will be numbers between x= (2,3,4,5,6,7,8,9,10,11,12)
Then find how many occurance of the sum is qual to x.
the output would be like this:
x= (2,3,4,5,6,7,8,9,10,11,12)
y= (5,1,4,8,7,4,2,2,4,8,3)
here is my trial :
r1 = randi([1 6],1,100)
r2 = randi([1 6],1,100)
DiceSum=r1+r2
x = [2 3 4 5 6 7 8 9 10 11 12];
Then I stuck
  3 个评论
James Tursa
James Tursa 2022-8-24
What is the exact wording of the assignment?
Bruno Luong
Bruno Luong 2022-8-24
编辑:Bruno Luong 2022-8-24
"the output would be like this:"
x= (2,3,4,5,6,7,8,9,10,11,12)
y= (5,1,4,8,7,4,2,2,4,8,3)
If y is the occurance count to me the above numbers are very very unlikely. It adds up to 48 ad not 100!
If you tell this issue to your professor, you'll get the best (or the worst) grade.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2022-8-24
Rather than
r1 = randi([1 6],1,100);
r2 = randi([1 6],1,100);
DiceSum=r1+r2;
to get just one roll, I'd use randi to get all 100 rolls in just one call to randi, like this:
numRolls = 100;
numDice = 2;
rollResults = randi([1, 6], numRolls, numDice)
rollResults = 100×2
3 5 5 2 6 5 3 2 4 4 4 5 4 5 5 3 1 1 5 1
DiceSum = sum(rollResults, 2)
DiceSum = 100×1
8 7 11 5 8 9 9 8 2 6
% All done. Now just some fancy plotting stuff.
histogram(DiceSum);
grid on;
caption = sprintf('Results of %d rolls of %d dice', numRolls, numDice);
title(caption);
ylabel('Count')
xlabel('2-Roll Sum')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Variables 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by