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

3 binary file-io matlab 32-bit file

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

gno*_*ice 6

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

A = rand(1,100);
fid = fopen('temp.dat','wb');
fwrite(fid,A,'float32');
fclose(fid);
Run Code Online (Sandbox Code Playgroud)

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