Large scale linear algebra
1 view (last 30 days)
Show older comments
What function would i use to figure out the memory a matrix uses?
0 Comments
Answers (2)
Matt J
on 31 May 2021
Edited: Matt J
on 31 May 2021
whos will work if you want the memory consumption of any variable including its metadata.
A=rand(10);
whos A
Note that this doesn't distinguish between deep and shallow copies. So, for example, in the code below, B is not really consuming an additional 800 bytes of memory on top of what A consumes (because it is just a shallow copy of A).
B=A;
whos A B
However, if you were to modify B in any way, Matlab would allocate B it's own 800 bytes.
2 Comments
Matt J
on 4 Jun 2021
You're very welcome, but please Accept-click the answer if it resolved your question.
Matt J
on 31 May 2021
Edited: Matt J
on 1 Jun 2021
When you store an MXN real double matrix in full form, you can expect that its matrix data will consume 8*M*N bytes. For a complex matrix, it will be 16*M*N, naturally. In either case, the calculation doesn't include the memory consumed by the variable's metadata.
0 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices 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!