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

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

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

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

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

  • На вкладке Home, в разделе Environment, нажмите Preferences.

  • Выберите MATLAB > General > MAT-Files.

Настройки применяются к обоим save функция и опции Save меню.

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

Сохраните в Nondefault Версии 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

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

См. также

|

Похожие темы