为什么matlab中的.mat文件的大小小于实际变量?

时间:2013-06-09 14:25:38

标签: matlab

我觉得我的问题不明确。我会解释一下。

im = dicomread('image.dcm');

whos im Name Size Bytes Class Attributes

im 2294x1914 8781432 uint16

注意im在内存中保留了8,781,432个字节。

另一方面,如果我执行下一行。

save('im.mat','im');

im.mat将在内存中保留6,245,906个字节

问题是为什么?在保存.mat文件之前是否进行matlab压缩?

谢谢。

2 个答案:

答案 0 :(得分:2)

是的。 official documentation说:

  

从版本7开始,MATLAB在写入MAT文件时压缩数据以节省存储空间。

我猜你的MATLAB版本是7或更高。

答案 1 :(得分:2)

是的,Matlab会压缩.mat文件。

以下是对此的解释:http://www.mathworks.com.au/support/solutions/en/data/1-PM5NN/index.html?product=ML&solution=1-PM5NN