Replace elements of sparse matrix from a full matrix.

7 visualizaciones (últimos 30 días)
KSSV
KSSV el 4 de Mzo. de 2016
Comentada: Walter Roberson el 5 de Mzo. de 2016
Dear Experts
I have a huge matrix, M with zeros. I am converting M into sparse using sparse(M). After, I want to replace few positions (idx) of M from other matrix, N. I am using the following: M(idx) = N(idx). But, this is very very slow. Also MATLAB warns: This sparse indexing expression is slow. How I can do the above task?
Thanks in advance.
  2 comentarios
Stephen23
Stephen23 el 4 de Mzo. de 2016
What size is M?
KSSV
KSSV el 4 de Mzo. de 2016
[19647672 60] is the size at present am dealing with. It may be more in future.

Iniciar sesión para comentar.

Respuestas (1)

Jos (10584)
Jos (10584) el 4 de Mzo. de 2016
What don't you replace the elements before converting it?
  8 comentarios
KSSV
KSSV el 5 de Mzo. de 2016
Actually my original matrix has zeros and I want to fill these zeros with numbers later...
Walter Roberson
Walter Roberson el 5 de Mzo. de 2016
Then spalloc() would be appropriate. If you create a matrix without using it or equivalent then you end up doing a lot of sparse reallocations as you add in new values.

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by