Replacing 1s in a sparse matrix by a random int.
Show older comments
Hi everyone I have a adjacency matrix from which I want to create a weight matrix. For each nonzero entry I'll put a random number in the weight matrix. The reason I want to this way is to reduce memory requirements. for instance if n=100'000. I create a sparse binary adjacency matrix with no problem. If I create my Weight matrix by W=randi(maxweight,n,n) it will consume a lot memory. Instead, i want it to be sparse as the adjacency matrix.
Answers (1)
Teja Muppirala
on 13 May 2011
If "A" is your sparse matrix, then:
A(find(A)) = randi(maxweight,nnz(A),1);
will replace every element with a random integer.
1 Comment
Mehmet Candemir
on 13 May 2011
Categories
Find more on Sparse Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!