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-файла.
'MATFileVersion' | Поддерживаемые релизы MATLAB | Поддерживавшие функции | Сжатие | Максимальный размер каждой переменной | Значение version аргумент в save функция | Опция настройки |
---|---|---|---|---|---|---|
Версия 7.3 | R2006b (Версия 7.3) или позже | Сохранение и загрузка частей переменных и всех функций Версии 7 | Да (значение по умолчанию) | ≥ 2 Гбайт на 64-битных компьютерах | '-v7.3' | MATLAB Version 7.3 или позже (сохраните-v7.3), |
Версия 7 | R14 (Версия 7.0) или позже | Кодировка символов Unicode®, которая включает совместный доступ к файлам между системами, которые используют различные схемы кодировки символов по умолчанию и все функции Версии 6. | Да (значение по умолчанию) | 2^31 байты на переменную | '-v7' | MATLAB Version 7 или позже (сохраните-v7), |
Версия 6 | R8 (Версия 5) или позже | N-мерные массивы, массивы ячеек, массивы структур, имена переменных дольше, чем 19 символов и все функции Версии 4. | Нет | 2^31 байты на переменную | '-v6' | MATLAB Version 5 или позже (сохраните-v6), |
Версия 4 | Все | Двумерный | Нет | 100 000 000 элементов на массив, и 2^31 байты на переменную | '-v4' | нет данных |
Примечание
Версия 7.3 MAT-файлы используют базирующийся формат HDF5, который требует, чтобы некоторое служебное устройство хранения данных описало содержимое файла. Для массивов ячеек, массивов структур или других контейнеров, которые могут сохранить типы гетерогенных данных, MAT-файлы Версии 7.3 иногда больше, чем MAT-файлы Версии 7.
Сохраните в версию 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 Мбайта ограниченное преимущество, если вы не передаете данные по сети.
Данные случайны без повторных шаблонов или сопоставимых значений.
Версия 7.3 MAT-файлы используют формат на основе HDF5, который хранит данные в сжатых фрагментах. Время, требуемое загружать часть переменной из MAT-файла Версии 7.3, зависит от того, как те данные хранятся через один или несколько фрагментов. Каждый фрагмент, который содержит любой фрагмент данных, которые вы хотите загрузить, должен быть полностью несжатым, чтобы получить доступ к данным. Переразделение на блоки ваших данных может улучшать производительность операции загрузки. Чтобы повторно разделить данные на блоки, используйте инструменты командной строки HDF5, которые являются частью распределения HDF5.