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

最佳答案

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

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

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

10-05 19:33