Matlab and memory use

조회 수: 1 (최근 30일)
F.O
F.O 2017년 10월 23일
편집: Reza Bonyadi 2017년 10월 24일
Hi, How I can compute how much RAM memory this matrix rand(500,500) take?

채택된 답변

Cedric
Cedric 2017년 10월 23일
편집: Cedric 2017년 10월 23일
MATLAB default numeric type/class is "double" (for double-precision floating-point) stored on 8 bytes (= 64 bits). Your array will contain 500 x 500 "double" elements, and the size in byte is the number of elements times the size per element in byte, hence:
>> 500 * 500 * 8
ans =
2000000
which is in MB (megabyte):
>> 500 * 500 * 8 / 1e6
ans =
2

추가 답변 (1개)

Reza Bonyadi
Reza Bonyadi 2017년 10월 23일
편집: Reza Bonyadi 2017년 10월 24일
xx= rand(500,500); h=whos('xx');
h.bytes is what you want then. This is an estimate, as there might be some compressions in place during the usage of the variable. Note that, as different variable may have different types (int, double, ...), whos is a good option as it considers the real size and not sensitive to the type. For example, xx=int8(randi(100,500));h=whos('xx');h.bytes gives you 250,000 while the previous example gives you 2,000,000. So you dont need to know how many bytes are considered for each type in Matlab.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by