The 官方文档 http://www.mathworks.com/help/matlab/ref/save.html#inputarg_version陈述如下:
. But I have noticed that there are other important differences besides those stated in the table above.
例如,保存一个大约有 6,000 个元素的元胞数组,占用176 MBMATLAB 中的内存给出了以下结果,具体取决于我是否使用-v7 or -v7.3:
- With -v7:文件大小=15 MB,保存和加载是fast.
- With -v7.3:文件大小=400 MB,保存和加载是very slow(可能部分是因为文件太大)。
还有其他人注意到这些差异吗?
Update 1: 正如回复所指出的,-v7.3依赖 HDF5,根据 Mathworks 的说法,“这种格式有很大的存储开销”,尽管尚不清楚此开销是否确实是由于格式本身造成的,还是由于 MATLAB 实现和 HDF5 的处理造成的。
Update 2:@Andrew Janke 向我们指出这个非常有用的 PDF http://mathworks.com/help/pdf_doc/matlab/matfile_format.pdf(显然,网络上不提供 HTML 格式)。有关更多详细信息,请参阅@Amro 提供的答案中的评论。
这一切让我想到下一个问题:有没有其他选择结合了两全其美的优点(例如,-v7以及处理非常大的文件的能力 -v7.3)?
MAT 文件的 7.3 版本使用 HDF5 格式,此格式在描述文件内容时会产生大量存储开销,尤其是对于复杂的嵌套单元阵列和结构。与以前版本的 MAT 文件相比,它的主要优点是它允许在 64 位系统上存储大于 2GB 的数据。
请注意,v7 和 v7.3 都经过压缩并使用 Unicode 编码(与 v6 不同),但它们是两种完全不同的格式...
参考:
- MAT 文件首选项 http://www.mathworks.com/help/matlab/matlab_env/preferences.html#brjh09y-7
- MAT 文件版本 http://www.mathworks.com/help/matlab/import_export/mat-file-versions.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)