Replacing 1s in a sparse matrix by a random int.

3 vues (au cours des 30 derniers jours)
Mehmet Candemir
Mehmet Candemir le 13 Mai 2011
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.

Réponses (1)

Teja Muppirala
Teja Muppirala le 13 Mai 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 commentaire
Mehmet Candemir
Mehmet Candemir le 13 Mai 2011
Thanks that was really fast

Connectez-vous pour commenter.

Catégories

En savoir plus sur Sparse Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by