MATLAB® Интерфейс пользовательских данных во время выполнения позволяет легко получить доступ к данным MATLAB Runtime. Он позволяет передавать ключи и значения между образцом MATLAB Runtime, кодом MATLAB, выполняемым в MATLAB Runtime, и хост-приложением, создавшим образец. Посредством вызовов API интерфейса пользовательских данных MATLAB Runtime, вы получаете доступ к данным MATLAB Runtime путем создания ассоциативного массива mxArray
по экземплярамs, состоящий из отображения из строковых ключей в
mxArray
значения. Причины для этого включают, но не ограничиваются следующими:
Необходимо предоставить информацию профиля во время выполнения клиенту, выполняющему приложение, созданное с помощью Parallel Computing Toolbox™. Вы предоставляете и изменяете информацию профиля для базиса выполнения. Например, два образцов одного и того же приложения могут запускаться одновременно с различными профилями. Дополнительные сведения см. в разделе Использование Parallel Computing 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 Runtime. Наиболее общий сценарий включает настройку среды MATLAB Runtime с конкретными данными для последующего извлечения следующим образом:
В код включите заголовок MATLAB Runtime и заголовок библиотеки файла сгенерированный MATLAB Compiler SDK.
Правильно инициализируйте приложение с помощью mclInitializeApplication
.
После создания входных данных запишите или установите его в MATLAB Runtime с setmcruserdata
.
После вызова функций или выполнения другой обработки извлеките новые данные MATLAB Runtime с getmcruserdata
.
Освободите память памяти в рабочих областях путем удаления ненужных массивов с mxDestroyArray
.
Завершите работу приложения правильно с помощью mclTerminateApplication
.