Sparse matrix memory problem
1 次查看(过去 30 天)
显示 更早的评论
I need to create really big sparse matrix, which will have very few non zero elements. I am trying to do this callling function:
A = sparse([1], [1000000000], 1);
But Matlab then allocates 7GB of memory! I think sparse matrices uses memory only for non zero elements, but it seems it allocates full matrix. Am I doing something wrong or this is Matlab bug? How can I bypass it?
0 个评论
采纳的回答
Teja Muppirala
2012-4-5
Sparse matrices keep track of data by each column. This means that if you have a lot of columns (here you have one billion of them...), then you will need lots of memory even though it is sparse. A workaround would be to make it a single column vector with 1e9 rows instead.
A = sparse(1000000000, 1, 1);
0 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!