MATLAB Answers

F.O
0

Matlab and memory use

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?

  0 件のコメント

サインイン to comment.

タグ

製品

2 件の回答

回答者: 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.

  0 件のコメント

サインイン to comment.


Cedric Wannaz
回答者: Cedric Wannaz
2017 年 10 月 23 日
編集済み: Cedric Wannaz
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

  0 件のコメント

サインイン to comment.



Translated by