MATLAB® Engine API для C++ содержит функции, классы и шрифты в matlab::engine пространство имен. Этот API поддерживает MATLAB Data API, который предоставляет возможность приложениям, работающим вне MATLAB, работать с данными MATLAB через нейтральный интерфейс MATLAB. Для получения дополнительной информации о MATLAB Data API, смотрите MATLAB Data API.
| Функция | Цель |
|---|---|
matlab::engine::startMATLAB | Запуск сеанса работы с MATLAB |
matlab::engine::startMATLABAsync | Запуск Сеанса работы с MATLAB асинхронно |
matlab::engine::connectMATLAB | Подключитесь к общему сеансу работы с MATLAB на локальном компьютере с заданным именем. |
matlab::engine::connectMATLABAsync | Подключитесь к общему сеансу работы с MATLAB на локальном компьютере с заданным именем асинхронно. |
matlab::engine::findMATLAB | Найти все общие сеансы работы с MATLAB с локального компьютера. |
matlab::engine::findMATLABAsync | Найти все общие сеансы работы с MATLAB с локальной машины асинхронно. |
matlab::engine::convertUTF8StringToUTF16String | Преобразуйте UTF-8 строку в UTF-16 строку. |
matlab::engine::convertUTF16StringToUTF8String | Преобразуйте UTF-16 строку в UTF-8 строку. |
matlab::engine::terminateEngineClient | Свободные ресурсы двигателя во время выполнения |
| Класс | Цель |
|---|---|
matlab::engine::MATLABEngine | Используется для выполнения функций MATLAB с C++. |
matlab::engine::FutureResult | Получение результатов асинхронных операций. |
matlab::engine::WorkspaceType | Класс перечисления, определяющий рабочее пространство MATLAB как BASE или GLOBAL |
The matlab::engine::MATLABEngine класс задает следующие представителей функции.
| Представитель | Цель |
|---|---|
| feval | Оцените функцию MATLAB ® с аргументами синхронно. |
| fevalAsync | Оцените функцию MATLAB ® с аргументами асинхронно. |
| eval | Выполняйте инструкцию MATLAB ® синхронно. |
| evalAsync | Выполняйте оператор MATLAB ® асинхронно. |
| getVariable | Получите переменную из основы MATLAB ® или глобальной рабочей области синхронно. |
| getVariableAsync | Получите переменную из основы MATLAB ® или глобальной рабочей области асинхронно. |
| setVariable | Поместите переменную в основу MATLAB ® или глобальную рабочую область синхронно. |
| setVariableAsync | Поместите переменную в основу MATLAB ® или глобальную рабочую область асинхронно. |
| getProperty | Получите значение свойства объекта. |
| getPropertyAsync | Получите значение свойства объекта асинхронно. |
| setProperty | Установите значение свойства объекта. |
| setPropertyAsync | Задайте значение свойства объекта асинхронно. |
| Исключение | Причина |
|---|---|
| Базовый класс всех исключений C++ Engine. |
| В функции произошла ошибка во время выполнения MATLAB, или MATLAB не запускается. |
| Этот Сеанс работы с MATLAB недоступен |
| В функции MATLAB имеется синтаксическая ошибка. |
| В функции или инструкции MATLAB существует ошибка во время выполнения оператор. |
| Оценка функции MATLAB отменена. |
| Брошенный matlab::engine::FutureResult::get если оценка функции или оператора MATLAB прерывается. |
| Результат функции MATLAB не может быть преобразован в заданный тип |
Размер массивов данных, переданных между C++ и MATLAB, ограничен 2 ГБ. Этот предел распространяется на данные плюс вспомогательная информация, переданная между процессами.
MATLAB Engine для C++ безопасно использовать в окружении с несколькими потоками. Можно установить следующие подключения к общим сеансам работы с MATLAB:
Подключитесь к различным общим сеансам работы с MATLAB из отдельных потоков приложения C++.
Подключитесь к одному сеансу работы с MATLAB из нескольких приложений Engine.
Вы не можете использовать несколько потоков одного и того же процесса для подключения к одному общему сеансу работы с MATLAB.