How to release zero elements in sparse matrix

7 visualizaciones (últimos 30 días)
Jimmy
Jimmy el 7 de Feb. de 2013
Hi,
The Matlab document says sparse matrix does not release elements from memory when they are set to zero. Then how can I release the elements if they are zero?
For example:
>> a=sparse(ones(10,10));
>> nzmax(a)
ans =
100
>> a(1:5,1:5)=0;
>> nzmax(a)
ans =
100
>>
What I want is that nzmax(a) reports 75 since I don't want to waste the memory for 25 zeros. Is there any command I can use?
Thanks in advance!
Edit: Made the description of example clear.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 7 de Feb. de 2013
Your example is not correct, what you should do is
a=ones(10,10);
nzmax(a)
a(1:5,1:5)=0
a=sparse(a)
nzmax(a)

Más respuestas (2)

Andrei Bobrov
Andrei Bobrov el 7 de Feb. de 2013
  1 comentario
Jimmy
Jimmy el 7 de Feb. de 2013
Hi Andrei,
Sorry I mean I want to really release the memory and that nzmax() reports 75. But thanks for the quick reply.
Jimmy

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 7 de Feb. de 2013
The examples of sparse show how to dissect and reconstruct a sparse matrix

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by