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."
No products are associated with this question.
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.
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.