exponenta event banner

Версии файла MAT

Обзор версий MAT-файлов

MAT-файлы - это двоичные файлы MATLAB ®, в которых хранятся переменные рабочей области. Начиная с MAT-файла версии 4, существует несколько последующих версий MAT-файлов, которые поддерживают растущий набор функций. MATLAB выпуски R2006b и более поздние поддерживают все версии MAT-файлов .

По умолчанию все операции сохранения создают MAT-файлы версии 7. Единственным исключением является создание новых MAT-файлов с помощью matfile функция. В этом случае версия MAT-файла по умолчанию - 7.3.

Чтобы определить или изменить версию MAT-файла по умолчанию, откройте настройки MAT-файлов.

  • На вкладке Главная (Home) в разделе Среда (Environment) щелкните Настройки (Preferences).

  • Выберите MATLAB > Общие > MAT-файлы.

Настройки применяются к обоим save и опции меню Сохранить.

Максимальный размер MAT-файла определяется только собственной файловой системой.

В этой таблице перечислены и сравниваются все версии MAT-файлов.

Версия файла MATПоддерживаемые версии MATLABПоддерживаемые функцииСжатиеМаксимальный размер каждой переменнойЗначение version аргумент в save функцияПараметр предпочтения
Версия 7.3R2006b (версия 7.3) или более поздняя

Сохранение и загрузка частей переменных и всех функций версии 7

Да (по умолчанию)≥ 2 ГБ на 64-разрядных компьютерах'-v7.3'MATLAB версии 7.3 или более поздней
(сохранить -v7.3)
Версия 7R14 (версия 7.0) или более поздней версии

Кодировка символов Unicode ®, которая позволяет обмениваться файлами между системами, использующими различные схемы кодировки символов по умолчанию, и всеми функциями версии 6.

Да (по умолчанию)2 ^ 31 байт на переменную'-v7'MATLAB версии 7 или более поздней
(сохранить -v7)
Версия 6R8 (версия 5) или более поздняя

N-мерные массивы, массивы ячеек, массивы структуры, имена переменных длиной более 19 символов и все функции версии 4.

Нет2 ^ 31 байт на переменную'-v6'MATLAB версии 5 или более поздней
(сохранить -v6)
Версия 4Все

Двумерный double, символы и разреженные массивы

Нет100 000 000 элементов на массив и 2 ^ 31 байт на переменную'-v4'n/a

Примечание

В MAT-файлах версии 7.3 используется формат на основе HDF5, для описания содержимого файла требуется дополнительное хранилище. Для массивов ячеек, массивов структуры или других контейнеров, которые могут хранить разнородные типы данных, MAT-файлы версии 7.3 иногда превышают MAT-файлы версии 7.

Сохранить в версию MAT-файла по умолчанию

Сохраните файл MAT в версии, отличной от версии по умолчанию, если необходимо:

  • Разрешить доступ к файлу с использованием более ранних версий MATLAB.

  • Воспользуйтесь преимуществами функций MAT-файлов версии 7.3.

  • Сократите время загрузки и сохранения некоторых файлов за счет сохранения несжатых данных.

  • Уменьшите размер некоторых файлов, сохранив сжатые данные.

Для сохранения в версии MAT-файла, отличной от версии по умолчанию, укажите version как последний вход в save функция. Например, для создания MAT-файла версии 6 с именем myfile.mat, введите:

save('myfile.mat','-v6')

Сжатие данных

Начиная с версии 7, MATLAB сжимает данные при записи в MAT-файлы для экономии места в хранилище. Сжатие и распаковка данных замедляют все операции сохранения и некоторые операции загрузки. В большинстве случаев уменьшение размера файла стоит потраченного дополнительного времени.

В некоторых случаях загрузка сжатых данных может быть более быстрой, чем загрузка несжатых данных. Например, рассмотрим блок данных в числовом массиве, сохраненный как в сжатом файле объемом 10 МБ, так и в несжатом файле объемом 100 МБ. Загрузка первых 10 МБ занимает одинаковое количество времени для каждого файла. Загрузка оставшихся 90 МБ из несжатого файла занимает девять раз больше времени, чем загрузка первых 10 МБ. Для завершения загрузки сжатого файла требуется лишь относительно короткое время для распаковки данных.

Преимущества сжатия данных незначительны в следующих случаях:

  • Объем данных в каждом элементе мал относительно сложности его контейнера. Например, простые числовые массивы занимают меньше времени на сжатие и распаковку, чем массивы ячеек или структур одинакового размера. Сжатие массивов, в результате которого размер несжатого файла составляет менее 3 МБ, дает ограниченные преимущества, за исключением случаев передачи данных по сети.

  • Данные являются случайными, без повторяющихся шаблонов или непротиворечивых значений.

Ускорение операций сохранения и загрузки файлов MAT версии 7.3

MAT-файлы версии 7.3 используют формат HDF5-based, который хранит данные в сжатых фрагментах. Время, необходимое для загрузки части переменной из MAT-файла версии 7.3, зависит от того, как эти данные хранятся в одном или нескольких фрагментах. Каждый блок, содержащий любую часть загружаемых данных, должен быть полностью распакован для доступа к данным. Повторная передача данных может повысить производительность операции загрузки. Для повторного подключения данных используйте инструменты командной строки HDF5, которые являются частью распределения HDF5.

См. также

|

Связанные темы