MATLAB: различия между.версии мат

на официальная документация указано следующее:

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

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

  • С - v7: Размер файла = 15 МБ, а save & load -быстро.
  • С -В7.3: размер файла = 400 МБ, а save & load -очень медленно (наверное, отчасти из-за большого размера файла).

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

обновление 1: как указывают ответы,-В7.3 полагается на HDF5 и ПО к MathWorks, "это формат имеет значительные накладные расходы на хранение", хотя неясно, действительно ли эти накладные расходы связаны с самим форматом или с реализацией MATLAB и обработкой HDF5.

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

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

1 ответов


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

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

ссылки: