我想向表的列中的每个元素添加随机数。这就是我一直在做的事情,但是我的方法是向该特定列中的所有元素添加相同的随机数。
NewEdge(:,2) = NewEdge(:,2)+ randi(3);
如何为每个元素添加一个不同的随机数?
答案 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
中包含的尽可能多的行,并且只需要一个列。