Engine API для C++

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

Функции членства MATLABEngine

matlab::engine::MATLABEngine класс задает следующие функции членства.

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

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

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

matlab::engine::Exception

Базовый класс всех исключений Engine 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 Гбайт. Этот предел применяется к данным плюс поддержка информации, переданной между процессами.

Используя Engine в среде нескольких-потоков

MATLAB Engine для C++ безопасно использовать в среде нескольких-потоков. Можно установить эти связи с разделяемыми сеансами работы с MATLAB:

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

  • Соединитесь с одним сеансом работы с MATLAB из нескольких приложений механизма.

Вы не можете использовать несколько потоков того же процесса, чтобы соединиться с одним разделяемым сеансом работы с MATLAB.

Похожие темы