computer freezes during heavy array calculation
4 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Adam
2016-11-17
编辑:Adam
2016-11-17
'This limit applies to the size of each array, not the total size of all MATLAB arrays.'
That setting is only really of use related to creation of a single array. If you are doing any kind of calculation on your data you will usually end up with some number of intermediate results and one or more end results, which may be of the same size as the initial array or similar size.
When I have had issues of working with large data I have had to work out how many intermediate results I create and what size they are and make a rough calculation of the amount of memory that is used, then add an extra factor to allow for me miscalculating or just generally allowing breathing space and then I use this to determine the largest size of input data I can deal with at any one time.
I'm not aware of an easy panacea method for just always ensuring that any algorithm you run will behave itself with memory allocation for all its intermediate results. It needs to be carefully tuned for individual algorithms from my experience. Obviously for some algorithms the calculation is easy, for others it is a little more complicated, especially if you use the parallel pool with data being transferred to all the workers too.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!