API-интерфейс MATLAB ® Engine для C++ содержит функции, классы и типы вmatlab::engine пространство имен. Этот API поддерживает интерфейс MATLAB Data API, который позволяет приложениям, работающим вне MATLAB, работать с данными MATLAB через нейтральный интерфейс MATLAB. Дополнительные сведения об API данных MATLAB см. в разделе API данных MATLAB.
| Функция | Цель |
|---|---|
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 |
matlab::engine::MATLABEngine определяет следующие функции-члены.
| Функция-член | Цель |
|---|---|
| feval | Вычислите функцию MATLAB ® синхронно с аргументами. |
| fevalAsync | Вычислите функцию MATLAB ® с аргументами асинхронно. |
| оценка | Вычислите оператор MATLAB ® синхронно. |
| evalAsync | Оцените оператор MATLAB ® асинхронно. |
| getVariable | Синхронное получение переменной из базы MATLAB ® или глобальной рабочей области. |
| getVariableAsync | Асинхронное получение переменной из базовой или глобальной рабочей области MATLAB ®. |
| setVariable | Поместите переменную в базовую или глобальную рабочую область MATLAB ® синхронно. |
| setVariableAsync | Помещайте переменную в базовую или глобальную рабочую область MATLAB ® асинхронно. |
| getProperty | Получение значения свойства объекта. |
| getPropertyAsync | Асинхронное получение значения свойства объекта. |
| setProperty | Задайте значение свойства объекта. |
| setPropertyAsync | Асинхронная установка значения свойства объекта. |
| Исключение | Причина |
|---|---|
| Базовый класс всех исключений модуля C++. |
| Ошибка выполнения MATLAB в функции или сбой запуска MATLAB. |
| Сеанс MATLAB недоступен |
| Синтаксическая ошибка в функции MATLAB. |
| Ошибка среды выполнения MATLAB в функции или инструкции MATLAB. |
| Оценка функции MATLAB отменяется. |
| Брошено matlab::engine::FutureResult::get если оценка функции или оператора MATLAB прерывается. |
| Результат функции MATLAB не может быть преобразован в указанный тип |
Размер массивов данных, передаваемых между C++ и MATLAB, ограничен 2 ГБ. Этот предел применяется к данным плюс вспомогательная информация, передаваемая между процессами.
Модуль MATLAB Engine для C++ безопасен для использования в многопоточной среде. Можно установить следующие подключения к общим сеансам MATLAB:
Подключение к различным общим сеансам MATLAB из отдельных потоков приложения C++.
Подключение к одному сеансу MATLAB из нескольких приложений ядра.
Нельзя использовать несколько потоков одного процесса для подключения к одному общему сеансу MATLAB.