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

The 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

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

matlab::engine::EngineException

В функции произошла ошибка во время выполнения MATLAB, или MATLAB не запускается.

matlab::engine::MATLABNotAvailableException

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

matlab::engine::MATLABSyntaxException

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

matlab::engine::MATLABExecutionException

В функции или инструкции 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 из нескольких приложений Engine.

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

Похожие темы