MATLAB: различия между версиями .mat - PullRequest
22 голосов
/ 10 февраля 2011

Официальная документация гласит:

enter image description here. Но я заметил, что есть и другие важные отличия, помимо тех, которые указаны в таблице выше.

Например, сохранение массива ячеек с примерно 6000 элементами, занимающего 176 МБ памяти в MATLAB, дает мне следующие результаты в зависимости от того, использую ли я -v7 или -v7.3

  • С -v7 : размер файла = 15 МБ , сохранение и загрузка быстро .
  • С -v7.3 : размер файла = 400 МБ , а сохранение и загрузка очень медленно (возможно, частично из-за большого размера файла).

Кто-нибудь еще заметил эти различия?

Обновление 1 : Как указывается в ответах, -v7.3 зависит от HDF5, и, согласно Mathworks, "этот формат имеет значительные объемы памяти" хотя неясно, действительно ли эти издержки связаны с самим форматом или с реализацией и обработкой HDF5 в MATLAB.

Обновление 2 : @Andrew Janke указывает нам на этот очень полезный PDF (который, по-видимому, недоступен в формате HTML в Интернете). Подробнее см. В комментариях к ответу, предоставленному @ Amro.

Все это подводит меня к следующему вопросу: Существуют ли альтернативы , которые сочетают в себе лучшее из обоих миров (например, эффективность -v7 и способность справляться с очень большими файлы - v7.3 )?

1 Ответ

9 голосов
/ 10 февраля 2011

Версия 7.3 MAT-файлов использует формат HDF5, этот формат имеет значительные объемы памяти для описания содержимого файла, особенно для сложных вложенных погребов и структур.Его главное преимущество перед предыдущими версиями MAT-файлов заключается в том, что он позволяет хранить данные размером более 2 ГБ в 64-разрядных системах.

Обратите внимание, что как v7, так и v7.3 сжимаются и используют кодировку Unicode (в отличие от v6),все же это два совершенно разных формата ...

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...