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.