int32的MATLAB数组并写入文件

时间:2012-02-24 18:32:59

标签: file matlab

在下面的代码中,我希望文件大小为4096字节(4kb)对吗?但实际上文件大小变为1024字节(1kb)!我不明白为什么?

fid = fopen('test.test', 'w', 'b');
buff= zeros(1024,1,'int32');
fwrite(fid,buff);
fclose(fid);  

1 个答案:

答案 0 :(得分:2)

问题在于FWRITE默认情况下将数据写为'uint8'类型(即'int32'大小的四分之一)。它不会自动检测传递给它的数据类型,因此您需要在调用FWRITE时指定输出的类型,如下所示:

fwrite(fid, buff, 'int32');