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:: convertUTF8StringToUTF16String | ConvertUTF8StringToUTF16String. |
mATLABEngine:: convertUTF16StringToUTF8String | ConvertUTF16StringToUTF8String. |
mATLABEngine:: terminateEngineClient | Свободные ресурсы механизма во время времени выполнения |
| Класс | Цель |
|---|---|
mATLABEngine:: MATLABEngine | Используйте, чтобы выполнить функции MATLAB с C++. |
mATLABEngine:: FutureResult | Получите результаты асинхронных операций. |
mATLABEngine:: WorkspaceType | MATLAB workspace определения класса перечисления как BASE или GLOBAL |
Класс matlab::engine::MATLABEngine задает следующие функции членства.
| Функция членства | Цель |
|---|---|
| feval | Выполните функцию MATLAB® с аргументами синхронно. |
| fevalAsync | Выполните функцию MATLAB® с аргументами асинхронно. |
| eval | Оцените оператор MATLAB® синхронно. |
| evalAsync | Оцените оператор MATLAB® асинхронно. |
| getVariable | Получите переменную от основы MATLAB® или глобальной рабочей области синхронно. |
| getVariableAsync | Получите переменную от основы MATLAB® или глобальной рабочей области асинхронно. |
| setVariable | Поместите переменную в основу MATLAB® или глобальную рабочую область синхронно. |
| setVariableAsync | Поместите переменную в основу MATLAB® или глобальную рабочую область асинхронно. |
| getProperty | Получите значение свойства объекта. |
| getPropertyAsync | Получите значение свойства объекта асинхронно. |
| setProperty | Установите значение свойства объекта. |
| setPropertyAsync | Установите значение свойства объекта асинхронно. |
| Исключение | Причина |
|---|---|
|
| Базовый класс всех исключений Engine C++. |
|
| Существует ошибка периода выполнения MATLAB в функции, или MATLAB не удается запуститься. |
|
| Сеанс работы с MATLAB не доступен |
|
| В функции MATLAB существует синтаксическая ошибка. |
|
| Существует ошибка периода выполнения MATLAB в функции MATLAB или операторе. |
|
| Оценка функции MATLAB отменяется. |
|
| Выданный matlab::engine::FutureResult::get, если оценка функции MATLAB или оператора прервана. |
|
| Результат функции MATLAB не может быть преобразован в заданный тип |
Размер массивов данных передал между C++, и MATLAB ограничивается 64 мегабайтами.
MATLAB Engine для C++ безопасно использовать в среде нескольких-потоков. Можно установить эти связи с разделяемыми сеансами работы с MATLAB:
Соединитесь с различными разделяемыми сеансами работы с MATLAB от отдельных потоков приложения C++.
Соединитесь с единственным сеансом работы с MATLAB из нескольких приложений механизма.
Вы не можете использовать несколько потоков того же процесса, чтобы соединиться с единственным разделяемым сеансом работы с MATLAB.