Replace elements of sparse matrix from a full matrix.

5 ビュー (過去 30 日間)
KSSV
KSSV 2016 年 3 月 4 日
コメント済み: Walter Roberson 2016 年 3 月 5 日
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 件のコメント
Stephen23
Stephen23 2016 年 3 月 4 日
What size is M?
KSSV
KSSV 2016 年 3 月 4 日
[19647672 60] is the size at present am dealing with. It may be more in future.

サインインしてコメントする。

回答 (1 件)

Jos (10584)
Jos (10584) 2016 年 3 月 4 日
What don't you replace the elements before converting it?
  8 件のコメント
KSSV
KSSV 2016 年 3 月 5 日
Actually my original matrix has zeros and I want to fill these zeros with numbers later...
Walter Roberson
Walter Roberson 2016 年 3 月 5 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSparse Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by