我在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
已经被显示为具有一些舍入(。