在matlab中将特定数字随机放入数组中

时间:2016-04-13 04:26:17

标签: arrays matlab

怎么做?

我想将一个特定的数字(如2号)随机放入3x3array, 它确实出现了,但编码仍然不对,不知怎的,数字1也出现了。

rows = 3;
cols = 3;

M = zeros(rows,cols);

p = randi(2);

rV = randperm(rows);
cV = randperm(cols);


M(rV(2),cV(2))=p

我哪里做错了?任何建议

2 个答案:

答案 0 :(得分:1)

您还可以将randi与线性索引一起使用

m = zeros(3);
m(randi(numel(m))) = 2;

答案 1 :(得分:0)

不需要 - 我已经解决了!

a=[2];
m=zeros(3);
m(randperm(numel(m),numel(a)))=a