随机将数字添加到N x M零矩阵

时间:2016-03-30 16:25:39

标签: matlab matrix random sparse-matrix

我想知道如何在矩阵中随机放置数字(最多10个数字)。数字范围从1到10.

我从A = zeros(5,8)开始,然后在矩阵周围随机放置10个随机数。

矩阵示例:

enter image description here

1 个答案:

答案 0 :(得分:3)

N=20;                            %// number of columns
M=1024;                          %// number of rows
NumRand = 20;                    %// number of random numbers
RandomScalars = rand(NumRand,1); %// random numbers
MyMatrix= sparse(M,N);           %// initialise matrix   
Idx = randperm(M*N,NumRand);     %// get indices to be filled
MyMatrix(Idx) = RandomScalars;   %// fill indexed places

基本上,您使用randperm创建一定数量的linear indices来索引矩阵。只需将所需的数字放在那里就可以了。