exponenta event banner

Пользовательские приложения для доступа к файлам MAT

Зачем писать пользовательские приложения?

Сведения о переносе данных в приложение MATLAB ® см. в разделе Методы импорта данных. Сведения о сохранении данных в MAT-файле см. в разделе Сохранение и загрузка переменных рабочего пространства. Эти процедуры используются при программировании всего приложения в MATLAB или при совместном использовании данных с другими пользователями MATLAB. Однако бывают ситуации, когда для взаимодействия с данными необходимо написать пользовательскую программу. Например:

  • Данные имеют пользовательский формат.

  • Вы создаете приложения для пользователей, которые не запускают MATLAB, и хотите предоставить им данные MATLAB.

  • Вы хотите прочитать данные из внешнего приложения, но у вас нет доступа к исходному коду.

Перед написанием пользовательского приложения определите, удовлетворяет ли MATLAB вашим потребностям в обмене данными, изучив следующие разделы.

Если этих функций недостаточно, можно создать пользовательские программы C/C + + или Fortran для чтения и записи файлов данных в формате, требуемом приложением. Существует два типа пользовательских программ:

  • Автономная программа - запуск из системного запроса или выполнение в MATLAB (см. Выполнение внешних команд, сценариев и программ). Для создания приложения требуются библиотеки MATLAB.

  • MEX-файл - создается и выполняется из командной строки MATLAB. Сведения о создании и создании файлов MEX см. в разделе Приложения файлов C MEX.

Библиотека интерфейсов файлов MAT

API MAT-File содержит подпрограммы для чтения и записи MAT-файлов. Вызовите эти подпрограммы из собственных программ C/C + + и Fortran. Используйте эти процедуры, а не пытайтесь написать собственный код, чтобы выполнить эти операции, поскольку использование библиотеки изолирует приложения от будущих изменений в структуре MAT-файла. Дополнительные сведения см. в разделах Библиотека API MAT-файлов и Включить файлы.

MATLAB обеспечивает MATFile тип для представления MAT-файла.

Подпрограммы MAT-файлов

Функция API MAT-файла

Цель

matOpen

Откройте MAT-файл.

matClose

Закройте MAT-файл.

matGetDir

Получение списка массивов MATLAB из MAT-файла.

matGetVariable

Считывание массива MATLAB из MAT-файла.

matPutVariable

Запишите массив MATLAB в MAT-файл.

matGetNextVariable

Прочтите следующий массив MATLAB из MAT-файла.

matDeleteVariable

Удалите массив MATLAB из MAT-файла.

matPutVariableAsGlobal

Поместите массив MATLAB в MAT-файл таким образом, чтобы load помещает его в глобальное рабочее пространство.

matGetVariableInfo

Загрузите заголовок массива MATLAB из MAT-файла (без данных).

matGetNextVariableInfo

Загрузите следующий заголовок массива MATLAB из MAT-файла (без данных).

Подпрограммы только для C-файла MAT

matGetFp

Получение указателя файла ANSI ® C на MAT-файл.

Библиотека интерфейса MAT-File не поддерживает объекты MATLAB, созданные пользовательскими классами.

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

Обмен файлами данных между платформами

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

Оба типа файлов могут передаваться непосредственно между машинами: исходные файлы MATLAB, потому что они не зависят от платформы, и MAT-файлы, потому что они содержат подпись машины в заголовке файла. MATLAB проверяет сигнатуру при загрузке файла и, если сигнатура указывает, что файл является чужим, выполняет необходимое преобразование.

Использование MATLAB в различных архитектурах машин требует средства для обмена двоичными данными и данными ASCII между машинами. Примеры этого типа ресурсов включают FTP, NFS и Kermit. При использовании этих программ следует соблюдать осторожность при передаче MAT-файлов в режиме двоичных файлов и исходных файлов MATLAB в режиме ASCII-файлов. Неправильная установка этих режимов повреждает данные.