Memory use 5-D matrix
2 views (last 30 days)
Show older comments
I'm trying to use 5-D matrices in Matlab (version 2012B) but I run out of memory. Following Matlab help section I created a file called memUsed.m and a test.m.
memUsed.m
[usr, sys] = memory;
usr.MemUsedMATLAB
test.m
format short eng;
memUsed
A = 10.24*ones(40,30,40,30,10);
memUsed
B = 10.24*ones(40,30,40,30,10);
memUsed
C = 10.24*ones(40,30,40,30,10);
memUsed
D = 10.24*ones(40,30,40,30,10);
memUsed
E = 10.24*ones(40,30,40,30,10);
memUsed
The matrices are about the size for my problem. This is the output of running test.m
ans =
812.4621e+006
ans =
927.6662e+006
ans =
1.0429e+009
ans =
1.1581e+009
ans =
1.2733e+009
ans =
1.3885e+009
So what I don't understand is that creating matrix A does not require much memory, neither the rest. However when creating matrix B the memory usage goes through the roof. Why is this? Can I fix this somehow?
0 Comments
Answers (1)
Walter Roberson
on 29 Jan 2019
812.4621e+006 is the same as 8.124621e+008 .
You are starting with 800 megabytes and you are adding a total of about 560 megabytes, ending up wiht about 1389 megabytes. There is no sudden jump in memory use.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!