Engine API для C++

MATLAB® Engine API для C++ включает функции, классы и определения типов в пространстве имен matlab::engine. Этот API поддерживает MATLAB Data API, который обеспечивает путь к приложениям, запускающимся за пределами MATLAB, чтобы работать с данными MATLAB через нейтральный в отношении MATLAB интерфейс. Для получения дополнительной информации о MATLAB Data API см. MATLAB Data API.

Служебные функции

ФункцияЦель
mATLAB engine.start_matlabЗапустите сеанс работы с MATLAB
mATLABEngine:: startMatlabAsyncЗапустите сеанс работы с MATLAB асинхронно
mATLAB engine.connect_matlabСоединитесь с разделяемым сеансом работы с MATLAB на локальной машине с помощью указанного имени.
mATLABEngine:: connectMatlabAsyncСоединитесь с разделяемым сеансом работы с MATLAB на локальной машине с помощью указанного имени асинхронно.
mATLAB engine.find_matlabНайдите все разделяемые сеансы работы с MATLAB от локальной машины.
mATLABEngine:: findMATLABAsyncНайдите все разделяемые сеансы работы с MATLAB от локальной машины асинхронно.
mATLABEngine:: convertUTF8StringToUTF16StringConvertUTF8StringToUTF16String.
mATLABEngine:: convertUTF16StringToUTF8StringConvertUTF16StringToUTF8String.
mATLABEngine:: terminateEngineClientСвободные ресурсы механизма во время времени выполнения

Классы

КлассЦель
mATLABEngine:: MATLABEngineИспользуйте, чтобы выполнить функции MATLAB с C++.
mATLABEngine:: FutureResultПолучите результаты асинхронных операций.
mATLABEngine:: WorkspaceTypeMATLAB workspace определения класса перечисления как 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Установите значение свойства объекта асинхронно.

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

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

mATLABEngine:: Исключение

Базовый класс всех исключений Engine C++.

mATLABEngine:: EngineException

Существует ошибка периода выполнения MATLAB в функции, или MATLAB не удается запуститься.

mATLABEngine:: MATLABNotAvailableException

Сеанс работы с MATLAB не доступен

mATLABEngine:: MatlabSyntaxException

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

mATLABEngine:: MatlabExecutionException

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

mATLABEngine:: CanceledException

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

mATLABEngine:: InterruptedException

Выданный matlab::engine::FutureResult::get, если оценка функции MATLAB или оператора прервана.

mATLABEngine:: TypeConversionException

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

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

Размер массивов данных передал между C++, и MATLAB ограничивается 64 мегабайтами.

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

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

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

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

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

Похожие темы

Была ли эта тема полезной?