将随机数添加到表列中的每个数字

时间:2018-10-12 08:17:12

标签: arrays matlab random

我想向表的列中的每个元素添加随机数。这就是我一直在做的事情,但是我的方法是向该特定列中的所有元素添加相同的随机数。

NewEdge(:,2) = NewEdge(:,2)+ randi(3);

如何为每个元素添加一个不同的随机数?

1 个答案:

答案 0 :(得分:4)

NewEdge(:,2) = NewEdge(:,2)+ randi(3,size(NewEdge(:,2)); % Looks pretty
NewEdge(:,2) = NewEdge(:,2)+ randi(3,size(NewEdge,1),1); % Probably faster

randi(3)是单个标量。随机,但仍然是一个数字。您想添加一个随机数向量,因此调用randi(imax,sz1,sz2),其中imax是最大允许整数,3是您的情况,sz1,sz2是您想要的大小矩阵,在这种情况下,您想要的是NewEdge中包含的尽可能多的行,并且只需要一个列。