Как прочитать файл mat на C без помощи MATLAB API

#c #matlab #hdf5 #mat #file-conversion

#c #matlab #hdf5 #мат #преобразование файлов

Вопрос:

У меня есть файл mat с вложенной структурой. Я прикрепил изображение для лучшего понимания.

введите описание изображения здесь

Я пробую следующую процедуру:
1. Преобразуйте файл mat в формат hdf5. (Используя любой язык)
2. Прочитайте файл hdf5 на C .

Но проблема в том, что я не могу преобразовать файл mat в hdf5. Есть ли какой-либо способ преобразовать файл .mat в файл .hdf5 или прочитать файл mat на C без помощи API MATLAB?

 Matlab version: R2018b
Windows version: Windows 10 64 bit
  

Комментарии:

1. Вы также можете посмотреть на Octave, который имеет открытый исходный код и читает / записывает MATLAB MAT-файлы. Существует также пакет Python, который считывает MAT-файлы.

Ответ №1:

Если вы сохраните свои данные в MATLAB, используя -v7.3 флаг, файл MAT будет файлом HDF5. Смотрите документацию:

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

 save filename CALIBRATION -v7.3