Which is faster, the sparse or spdiag function?
8 ビュー (過去 30 日間)
古いコメントを表示
In each iteration of a for loop I'm creating a big (approximatlly 10k*10k) five diagonal sparse matrix. Does anybody knows which function work faster? The sparse or spdiags. Is there a faster way to it if I only update the values of an existing sparse matrix in each iteration?
2 件のコメント
Walter Roberson
2018 年 4 月 10 日
Be careful, updating an existing sparse matrix is slow if you are adding non-zero elements beyond what was allocated for the matrix with spalloc()
James Tursa
2018 年 4 月 10 日
Even if you are not exceeding the currently allocated memory for the matrix, it can be slow if the operation causes a large number of existing elements to be moved around in this memory.
回答 (1 件)
Walter Roberson
2018 年 4 月 10 日
spdiags() invokes sparse() after packaging together the appropriate content and indices.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!