我需要用diehard测试由MATLAB程序生成的“随机数”。Diehard只接受32位二进制文件(单精度),但如果我将数据保存在MATLAB中,它会以双精度保存为二进制文件(因此为2*64 = 128位二进制文件)。如何在64位系统上使用MATLAB创建一个32位二进制文件?
如果您想以特定格式读取/写入二进制文件,应使用 FREAD/FWRITE 函数。例如,以下代码将以32位浮点数的形式向文件中写入100个随机值:A = rand(1,100); fid = fopen('temp.dat','wb'); fwrite(fid,A,'float32'); fclose(fid); 如果您需要更多关于MATLAB中文件IO的信息,您也可以查看这些相关的SO帖子:这里和这里。