我想创建一个matlab程序,在某些事件之后存储并增加数组内的值

时间:2017-12-05 21:56:45

标签: matlab

for i=1:2

    dice_roll_1=randi(6);
    dice_roll_2=randi(6);
    player_dice_roll=dice_roll_1+dice_roll_2;
    player_position=player_dice_roll;

end

对于第二轮,我希望数组player_position使用dice_roll_1dice_roll_2的新值添加其元素。

2 个答案:

答案 0 :(得分:0)

您必须将player_position变量置于循环之外并将其初始化为等于0的值。然后,在每个循环中,增加它的总值,添加骰子滚动的结果:

player_position = 0;

for i=1:2
    dice_roll_1 = randi(6);
    dice_roll_2 = randi(6);
    player_dice_roll = dice_roll_1+dice_roll_2;
    player_position = player_position + player_dice_roll;
end

答案 1 :(得分:0)

这里是没有for循环的版本:

% this makes 10 rolls of two dice, but change 10 to whatever # you want
dice_rolls= randi(6,2,10);

然后

sum(dice_rolls) % is the sum of each pair

cumsum(sum(dice_rolls))

是每轮的累计累计金额......

例如:

dice_rolls= randi(6,2,3)

dice_rolls =

 5     4     6
 2     5     6

这些是2个骰子的3卷(最后一卷幸运6 6)

然后>>

cumsum(sum(dice_rolls))

ans =

 7    16    28

你可以看到答案是:(第1卷),(第1卷+第2卷),(第1卷+第2卷+第3卷)

那是你想要的吗?