Problem with odds and even simulation code

1 vue (au cours des 30 derniers jours)
Not_sharpest_tool.mat
Not_sharpest_tool.mat le 22 Oct 2018
Hello. I'm trying to simulate an even and odds game that scores 100 games. The problem is that when I get the results Player B seems to always win. Can anybody see whats wrong?
ScoreA=0;
ScoreB=0;
for z= 2:100
PlayerA= randi(2,[100,1]);
PlayerB= randi(2,[100,1]);
n= PlayerA+PlayerB;
if n==3
ScoreA(z)=ScoreA(z-1)+1;
ScoreB(z)=ScoreB(z-1);
else
ScoreB(z)=ScoreB(z-1)+1;
ScoreA(z)=ScoreA(z-1);
end
end
  1 commentaire
Erivelton Gualter
Erivelton Gualter le 22 Oct 2018
I did not understand very well what you are looking forward. However, I just note your if statement is weird.
For example, for PlayerA = [2 2 1 1 1] and PlayerB = [2 1 1 2 1]; We have ScoreA = [0 0 0 0 0] and ScoreB = [0 1 2 3 4];

Connectez-vous pour commenter.

Réponse acceptée

Akira Agata
Akira Agata le 24 Oct 2018
In your code, the variable n becomes always 100x1 array. This is the reason why the ScoreB always much higher than ScoreA.
To do your task, how about the following?
PlayerA = randi(2,[100,1]);
PlayerB = randi(2,[100,1]);
PlayerA_Win = mod(PlayerA+PlayerB,2) == 1; % Odd
PlayerB_Win = mod(PlayerA+PlayerB,2) == 0; % Even
ScoreA = sum(PlayerA_Win);
ScoreB = sum(PlayerB_Win);

Plus de réponses (0)

Catégories

En savoir plus sur Number games dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by