问题是这个。经过考虑,我认为如果满足此条件,代码将成功。
设置n = 0,统一生成1〜6的整数之一;如果生成1,则加一个获胜;否则,生成n则加一个失败; n ++,4。如果n
但我不知道该怎么做。能帮我吗
N=100;
win=0;
lose=0;
a=randi([1 6],1,1);
n=0;
p=0;
while n<N
if a==1
win=win+1;
else
lose=lose+1;
n++
endif
endwhile
您的代码中有几个错误:
randi
的调用不在while
循环之内。因此,您要测试a==1
N次,其中a
的值始终相同n
条件下递增计数器else
可能的实现方式如下,您可以将代码包含在for
循环中,以检查尝试次数所占的百分比;您还可以添加参考值1/6 %
。
% Define the winning number
win_value=1
for N=1:1000
% Generate N random values
result=accumarray(randi([1 6],N,1),1);
% Count the wins
win(N)=result(win_value);
Pct_win(N)=win(N)/N*100;
end
plot(Pct_win)
hold on
plot([1 N],[1/6 1/6]*100,'r','linewidth',2)
xlabel('Attempts')
ylabel('Win %')
legend('Wins','Ref')