A Question on a Simple Loop

Hello. My problem: We have 5 machines. We wanna play each of these machines 1000 times (we call each 1000 plays a TASK). In each time, the machine gives us a reward (randomly). We wanna check that the mean reward of which one of these TASKs is more than others (maximum). I wrote this code but it doesn't work well. Why?
for j=1:5
h=0;
for i=1:1000
rew=randn(1);
sum=rew+h;
end
mean(j)=sum./1000; [value,index]=max(mean(j))
end end
Thanks in advance

2 comentarios

Walter Roberson
Walter Roberson el 13 de Mayo de 2014
Do not use "sum" as the name of a variable or you will almost always encounter problems with sum() being the name of a useful MATLAB function.
Zahra kamkar
Zahra kamkar el 14 de Mayo de 2014
Thanks a lot

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 13 de Mayo de 2014

0 votos

You never update "h" so at each point "sum" will be assigned only the latest random value.

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 13 de Mayo de 2014

Comentada:

el 14 de Mayo de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by