Matlab文件大小不同,内存大小可变



我在Matlab中有以下代码,fg是一个1000x1000x1000 uint8的数组。renato.raw的最终大小为1.190857E6 x 1024,而不是1E9(1000x1000x1000(。有人知道原因吗?

fid = fopen('renato.raw', 'w');
fprintf(fid, '%u', fg);
fclose(fid);

在以下情况下:

fid = fopen('renato.raw', 'w');
fwrite(fid,fg,'uint8');
fclose(fid);

在这种情况下,文件为0.976563E6 x 1024。如何解决这个问题?如何解释?

谢谢,

路易斯·贡萨尔维斯

fprintf(fid, '%u', fg)使用fg的内容写入文本文件。例如,如果fg = [0 10 20 30],则文件包含保存为ASCII中7个字节的文本0102030。这就是为什么大小会增加,这取决于fg中的数字有多少小数位数。

CCD_ 6直接将CCD_。以字节为单位的文件大小应与numel(fg)相同。注意,0.976563E6 * 1024非常近似于1000*1000*1000(也许数字0.976563E6已经被显示为具有一些舍入(。

相关内容