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!