A Question on a Simple Loop
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2014-5-13
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.
回答(1 个)
Walter Roberson
2014-5-13
You never update "h" so at each point "sum" will be assigned only the latest random value.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!