家庭作业的一部分是模拟100次骰子的1000次,并绘制6次碾压的累计和除以擀面数。例如,如果我第一次滚动16个六,下一个滚动12个,第三个滚动14个,那么下面的点应该在图形(1,16),(2,14)和(3,14)上。< / p>
我存储了numSixAr中累积的六个累计数,我试图将其除以数组x = 1:1000。 (在这个例子中,numSixAr = [16,28,42 ...]和x = [1,2,3 ...])。
我正在尝试numSixAr./x,但是matlab说矩阵尺寸不相等。但是,我在操作之前打印尺寸,它们实际上是相同的吗?
我的代码是
n=1000;
rolls = rand(100,1);
numSix=0;
sumRolls=0;
numSixAr=zeros(n,1);
sumRollsAr=zeros(n,1);
for j=1:n,
for i = 1:100,
if(rolls(i)>=5/6)
numSix = numSix+1;
end
sumRolls = sumRolls + floor(6*rolls(i)+1);
end
numSixAr(j)=numSix;
numSix=0;
sumRollsAr(j)=sumRolls;
sumRolls=0;
end
for i= 2 : 1000
numSixAr(i)=numSixAr(i-1) + numSixAr(i);
end
x=1:n;
disp(length(numSixAr));
disp(length(x));
disp(length(numSixAr./x));
plot(x, (numSixAr)./x);
错误发生在&#34; disp(length(numSixAr./x));&#34;。 (倒数第二行) 输出是 1000 1000
为什么matlab认为这些数组长度不等?我该怎么做才能解决这个问题?