如何在matlab中以32位二进制文​​件保存数据?

时间:2009-06-03 19:22:27

标签: file matlab file-io binary 32-bit

我必须用死硬测试一些“随机数”,由MATLAB中的程序生成。 Diehard只接受32位二进制文​​件(单精度),但如果我将数据保存在MATLAB中,它将保存在具有双精度的二进制文件中(因此2 * 64 = 128位二进制文​​件)。如何在MATLAB中创建一个32位二进制文​​件,在64位系统上工作?

2 个答案:

答案 0 :(得分:6)

如果要以特定格式读取/写入数据到二进制文件,则应使用函数FREAD / FWRITE。例如,这会将100个随机值写入32位浮点文件:

A = rand(1,100);
fid = fopen('temp.dat','wb');
fwrite(fid,A,'float32');
fclose(fid);

有关MATLAB中文件IO的更多信息,您还可以查看其他相关的SO帖子:herehere

答案 1 :(得分:3)

除了gnovice的解决方案之外,您可能希望将随机数生成为“单个”,如下所示:

rand(1, 100, 'single')