Интерфейс пользовательских данных среды выполнения MATLAB ® позволяет легко получить доступ к данным среды выполнения MATLAB. Он позволяет передавать ключи и значения между экземпляром среды выполнения MATLAB, кодом MATLAB, выполняемым в среде выполнения MATLAB, и приложением-хостом, создавшим экземпляр. С помощью вызовов API интерфейса пользовательских данных среды выполнения MATLAB доступ к данным среды выполнения MATLAB осуществляется путем создания ассоциативного массива для каждого экземпляра. mxArrays, состоящий из отображения из строковых ключей в mxArray значения. Причины для этого включают, но не ограничиваются следующими:
Необходимо предоставить информацию о профиле времени выполнения клиенту, выполняющему приложение, созданное с помощью Toolbox™ параллельных вычислений. Информация о профиле предоставляется и изменяется на основе выполнения. Например, два экземпляра одного и того же приложения могут выполняться одновременно с разными профилями. Дополнительные сведения см. в разделе Использование панели инструментов параллельных вычислений в развернутых приложениях.
Необходимо настроить глобальную рабочую область, глобальную переменную или переменные, к которым MATLAB и клиент могут получить доступ.
Необходимо сохранить состояние любой переменной или группы переменных.
API состоит из:
Две функции MATLAB, вызываемые из развернутого кода приложения MATLAB
Четыре внешние функции C, вызываемые из кода оболочки развернутого приложения
Использование функций MATLAB getmcruserdata и setmcruserdata из развернутых приложений MATLAB. Они загружаются по умолчанию только в приложениях, созданных с помощью продуктов MATLAB Compiler™ или MATLAB Compiler SDK™.
Можно включить setmcruserdata и getmcruserdata в упакованном приложении с использованием mcc следующим образом:
mcc -g -W cpplib:<lib> -T link:lib ... setmcruserdata.m getmcruserdata.m
Вы также можете использовать %# функция в файле MATLAB для включения setmcruserdata и getmcruserdata. Это обеспечивает включение этих функций в пакетное приложение при использовании deploytool.
Совет
getmcruserdata и setmcruserdata производить Unknown function ошибка при вызове в MATLAB, если модуль MCLMCR не может быть найден. Вы можете избежать этой ситуации, позвонив isdeployed перед вызовом getmcruserdata и setmcruserdata. Для получения дополнительной информации о isdeployed , см. isdeployed справочная страница.
Существует множество возможных сценариев работы с данными среды выполнения MATLAB. Наиболее общий сценарий включает настройку среды выполнения MATLAB с определенными данными для последующего извлечения следующим образом:
Включите в код файл заголовка MATLAB Runtime и заголовок библиотеки, сгенерированный MATLAB Compiler SDK.
Правильно инициализировать приложение с помощью mclInitializeApplication.
После создания входных данных запишите или установите их в MATLAB Runtime с помощью setmcruserdata.
После вызова функций или выполнения другой обработки извлеките новые данные среды выполнения MATLAB с помощью getmcruserdata.
Освободите память в рабочих областях, удалив ненужные массивы с помощью mxDestroyArray.
Правильно завершите работу приложения с помощью mclTerminateApplication.