Matlab文件大小不同,内存中的变量大小不同

Matlab文件大小不同,内存中的变量大小不同,matlab,file,variables,printf,size,Matlab,File,Variables,Printf,Size,我在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

我在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。如何解决这个问题?如何解释

谢谢

Luis Gonçalves

fprintf(fid,'%u',fg)
编写一个包含
fg
内容的文本文件。例如,如果
fg=[0 10 20 30]
文件包含以ASCII格式保存为7字节的文本
0102030
。这就是大小增加的原因,这取决于
fg
中数字的小数位数


fwrite(fid,fg,'uint8')
fg
的每个值直接作为一个字节写入。以字节为单位的文件大小应与
numel(fg)
相同。请注意,
0.976563E6*1024
非常接近
1000*1000*1000
(可能该数字
0.976563E6
已显示为四舍五入)。

关于最后一段,您是对的。我错过了。