What is the maximum length of three dimensional matrix that I can save ?

9 次查看(过去 30 天)
Hi I want to save a 8*16 matrix in a three dimensional matrix progressively. I want to allocate the maximum possible index for third dimension for quick execution. I know it depends on the system specifications and all. Please educate me in this topic .
If I dont pre allocate I get this message and I verified it also.
"Programs that change the size of a variable in this way can spend most of their run time in this inefficient activity. There is also significant overhead in shrinking an array on each iteration or in changing the size of a variable on each iteration. In such cases, MATLAB must reallocate and copy the contents repeatedly."

回答(2 个)

the cyclist
the cyclist 2013-6-25
You can be "educated on this topic" if you read and understand this page: http://www.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html.
However, just seeing how big an N you can make
x = rand(8,16,N)
will give you a useful upper limit.

Jan
Jan 2013-6-26
The 2nd output of http://www.mathworks.com/help/matlab/ref/computer.html defines the maximum number of elements in an array. But usuaully the limit is much lower due to the available free memory.

类别

Help CenterFile Exchange 中查找有关 Performance and Memory 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by