如何在matlab中将数据保存为32位二进制文件?
我必须用顽固分子测试一些由 MATLAB 中的程序生成的“随机数”。 Diehard 仅接受 32 位二进制文件(单精度),但如果我将数据保存在 MATLAB 中,它将保存在双精度二进制文件中(因此 2*64 = 128 位二进制文件)。 如何在 MATLAB 中创建在 64 位系统上运行的 32 位二进制文件?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想以特定格式读取/写入数据到二进制文件,您应该使用函数 FREAD/ FWRITE。 例如,这会将 100 个随机值作为 32 位浮点数写入文件:
有关 MATLAB 中文件 IO 的更多信息,您还可以查看这些其他相关的 SO 帖子:此处 和 此处。
If you want to read/write data to a binary file in a specific format, you should use the functions FREAD/FWRITE. For example, this will write 100 random values to a file as 32-bit floats:
For more info about file IO in MATLAB, you can also check out these other related SO posts: here and here.
除了 gnovice 的解决方案之外,您可能希望生成“单个”随机数,如下所示:
Further to gnovice's solution, you may wish to generate the random numbers as 'single', like so: