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

*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.

更多回答(3 个)

Orion
Orion 2014-11-4
编辑:Orion 2014-11-4
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
For a really simple solution, just check when the sum is 12:
numberOfDouble6s = sum((a+b)==12)
indexes = find((a+b)==12)
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 个评论

and to get the number of 6 in a and in b
NumberOf6inA = nnz(a==6);
NumberOf6inB = nnz(b==6);
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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by