Replace elements of sparse matrix from a full matrix.

9 visualizzazioni (ultimi 30 giorni)
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 Commenti
KSSV
KSSV il 4 Mar 2016
[19647672 60] is the size at present am dealing with. It may be more in future.

Accedi per commentare.

Risposte (1)

Jos (10584)
Jos (10584) il 4 Mar 2016
What don't you replace the elements before converting it?
  8 Commenti
KSSV
KSSV il 5 Mar 2016
Actually my original matrix has zeros and I want to fill these zeros with numbers later...
Walter Roberson
Walter Roberson il 5 Mar 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.

Accedi per commentare.

Categorie

Scopri di più su Sparse Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by