exponenta event banner

API механизма C++

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

Функции членов MATLABEngine

matlab::engine::MATLABEngine определяет следующие функции-члены.

Функция-членЦель
fevalВычислите функцию MATLAB ® синхронно с аргументами.
fevalAsyncВычислите функцию MATLAB ® с аргументами асинхронно.
оценкаВычислите оператор MATLAB ® синхронно.
evalAsyncОцените оператор MATLAB ® асинхронно.
getVariableСинхронное получение переменной из базы MATLAB ® или глобальной рабочей области.
getVariableAsyncАсинхронное получение переменной из базовой или глобальной рабочей области MATLAB ®.
setVariableПоместите переменную в базовую или глобальную рабочую область MATLAB ® синхронно.
setVariableAsyncПомещайте переменную в базовую или глобальную рабочую область MATLAB ® асинхронно.
getPropertyПолучение значения свойства объекта.
getPropertyAsyncАсинхронное получение значения свойства объекта.
setPropertyЗадайте значение свойства объекта.
setPropertyAsyncАсинхронная установка значения свойства объекта.

Классы исключений

ИсключениеПричина

matlab::engine::Exception

Базовый класс всех исключений модуля C++.

matlab::engine::EngineException

Ошибка выполнения MATLAB в функции или сбой запуска MATLAB.

matlab::engine::MATLABNotAvailableException

Сеанс MATLAB недоступен

matlab::engine::MATLABSyntaxException

Синтаксическая ошибка в функции MATLAB.

matlab::engine::MATLABExecutionException

Ошибка среды выполнения MATLAB в функции или инструкции MATLAB.

matlab::engine::CanceledException

Оценка функции MATLAB отменяется.

matlab::engine::InterruptedException

Брошено matlab::engine::FutureResult::get если оценка функции или оператора MATLAB прерывается.

matlab::engine::TypeConversionException

Результат функции MATLAB не может быть преобразован в указанный тип

Ограничения по размеру данных

Размер массивов данных, передаваемых между C++ и MATLAB, ограничен 2 ГБ. Этот предел применяется к данным плюс вспомогательная информация, передаваемая между процессами.

Использование модуля в многопоточной среде

Модуль MATLAB Engine для C++ безопасен для использования в многопоточной среде. Можно установить следующие подключения к общим сеансам MATLAB:

  • Подключение к различным общим сеансам MATLAB из отдельных потоков приложения C++.

  • Подключение к одному сеансу MATLAB из нескольких приложений ядра.

Нельзя использовать несколько потоков одного процесса для подключения к одному общему сеансу MATLAB.

Связанные темы