Memory use 5-D matrix

2 views (last 30 days)
MC
MC on 29 Jan 2019
Commented: MC on 29 Jan 2019
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?

Answers (1)

Walter Roberson
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.
  1 Comment
MC
MC on 29 Jan 2019
Jesus, my bad. Was obvious, moderator can remove the thread:) Thanks

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2012b

Community Treasure Hunt

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

Start Hunting!