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

4 visualizaciones (últimos 30 días)
Mehmet Candemir
Mehmet Candemir el 13 de Mayo de 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.

Respuestas (1)

Teja Muppirala
Teja Muppirala el 13 de Mayo de 2011
If "A" is your sparse matrix, then:
A(find(A)) = randi(maxweight,nnz(A),1);
will replace every element with a random integer.

Categorías

Más información sobre Sparse Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by