2 dice simulation. Code for when both dice = 6?

1 view (last 30 days)
*My first question wasn't clear.
I want to know how many double 6's there are basically.
For example,
a 6 2 6 2 6 1
b 6 4 5 6 6 3
I want something that would return the asnwer 2, indicating 2 double 6's, at positions 1 and 5.
Thanks*
Why won't this code tell me when a and b both equal 6?? I mean I know why, I just don't know what the right code is or how to correct it.
a=randi([1 6],n,1); disp('a='); disp(a);
b=randi([1 6],n,1); disp('b='); disp(b);
c=(a==6);d=(b==6); disp('c'); disp(c); disp('d'); disp(d);
e=(c==1);f=(d==1); disp('e=f'); disp(e==f);
The output I get is all of the times that (a==6)==(b==6) which I don't want.
NB: I've got an input code for n, don't worry.
Basically I need code that tells me the number of times both dice, a and b equal 6 at the same time/roll.
Thanks for any help.

Accepted Answer

James Tursa
James Tursa on 4 Nov 2014
sum((a==6)&(b==6))
Looks like the same question as this newsgroup thread:

More Answers (3)

Orion
Orion on 4 Nov 2014
Edited: Orion on 4 Nov 2014
ok, so
a = [6 2 6 2 6 1];
b = [6 4 5 6 6 3];
posInCommon = intersect(find(a==6),find(b==6))
posInCommon =
1 5
NUmberofoccurence = length(posInCommon)
NUmberofoccurence =
2

Image Analyst
Image Analyst on 4 Nov 2014
Edited: Image Analyst on 4 Nov 2014
For a really simple solution, just check when the sum is 12:
numberOfDouble6s = sum((a+b)==12)
indexes = find((a+b)==12)

Orion
Orion on 4 Nov 2014
I'm not sure to get what you're trying to do.
but a and b are vectors of size nx1.
If you want to know if a and b are the exacts same vectors :
isequal(a,b).
If you want to know if there is a 6 inside a, and inside b :
IsTherea6 = (any(a==6) && any(b==6))
  2 Comments
Orion
Orion on 4 Nov 2014
and to get the number of 6 in a and in b
NumberOf6inA = nnz(a==6);
NumberOf6inB = nnz(b==6);
Aaron Brotherton
Aaron Brotherton on 4 Nov 2014
Edited: Aaron Brotherton on 4 Nov 2014
Thanks for getting back so quick.
I want to know how many double 6's there are basically.
For example,
a 6 2 6 2 6 1
b 6 4 5 6 6 3
I want something that would return the asnwer 2, indicating 2 double 6's, at positions 1 and 5.
Thanks

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!