标签: file matlab file-io binary 32-bit
我必须用死硬测试一些“随机数”,由MATLAB中的程序生成。 Diehard只接受32位二进制文件(单精度),但如果我将数据保存在MATLAB中,它将保存在具有双精度的二进制文件中(因此2 * 64 = 128位二进制文件)。如何在MATLAB中创建一个32位二进制文件,在64位系统上工作?
答案 0 :(得分:6)
如果要以特定格式读取/写入数据到二进制文件,则应使用函数FREAD / FWRITE。例如,这会将100个随机值写入32位浮点文件:
A = rand(1,100); fid = fopen('temp.dat','wb'); fwrite(fid,A,'float32'); fclose(fid);
有关MATLAB中文件IO的更多信息,您还可以查看其他相关的SO帖子:here和here。
答案 1 :(得分:3)
除了gnovice的解决方案之外,您可能希望将随机数生成为“单个”,如下所示:
rand(1, 100, 'single')