MATLAB:.mat 版本之间的差异 [英] MATLAB: Differences between .mat versions

查看:28
本文介绍了MATLAB:.mat 版本之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

(在网络上显然没有 HTML 格式).有关更多详细信息,请参阅@Amro 提供的答案中的评论.

这一切让我想到了下一个问题:是否有任何替代方案结合了两全其美(例如 -v7 的效率和处理问题的能力)-v7.3) 的超大文件?

解决方案

MAT 文件 7.3 版使用 HDF5 格式,这种格式在描述文件内容时有很大的存储开销,尤其是对于复杂的嵌套单元阵列和结构.与以前版本的 MAT 文件相比,它的主要优势在于它允许在 64 位系统上存储大于 2GB 的数据.

请注意,v7 和 v7.3 都经过压缩并使用 Unicode 编码(与 v6 不同),但它们是两种完全不同的格式...

参考:

The official documentation states the following:

. But I have noticed that there are other important differences besides those stated in the table above.

For example, saving a cell array with about 6,000 elements that occupies 176 MB of memory in MATLAB gives me the following results depending on whether I use -v7 or -v7.3:

  • With -v7: File size = 15 MB, and save & load is fast.
  • With -v7.3: File size = 400 MB, and save & load is very slow (probably in part because of the large file size).

Has anybody else noticed these differences?

Update 1: As the replies point out, -v7.3 relies on HDF5 and according to Mathworks, "this format has a significant storage overhead", although it's not clear if this overhead is really due to the format itself, or to the MATLAB implementation and handling of HDF5 instead.

Update 2: @Andrew Janke points us to this very helpful PDF (which apparently is not available in HTML format on the web). For more details, see the comments in the answer provided by @Amro.

This all takes me to the next question: Are there any alternatives that combine the best of both worlds (e.g. the efficiency of -v7 and the ability to deal with very large files of -v7.3)?

解决方案

Version 7.3 of MAT-files uses HDF5 format, this format has a significant storage overhead to describe the contents of the file, especially so for complex nested cellarrays and structures. Its main advantage over previous versions of MAT-files is that it allows storing data larger than 2GB on 64-bit systems.

Note that both v7 and v7.3 are compressed and use Unicode encoding (unlike v6), yet they are two completely different formats...

References:

这篇关于MATLAB:.mat 版本之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆