Запуск сеансов работы с MATLAB с C++

Запустите сессию Engine MATLAB® со своей программы C++ синхронно или асинхронно. Чтобы запустить сеанс, используйте одну из этих служебных функций, которые заданы в пространстве имен matlab::engine:

Для получения информации о том, как установить и создать программы механизма C++, видит Сборку Программы Engine C++.

Запуск сеанса работы с MATLAB синхронно

Запустите MATLAB с C++ синхронно. startMATLAB возвращает уникальный указатель на экземпляр MATLABEngine.

#include "MatlabEngine.hpp"
void startMLSession() {
    using namespace matlab::engine;

    // Start MATLAB engine synchronously
    std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB();
}

Запуск сеанса работы с MATLAB асинхронно

Запустите MATLAB с C++ асинхронно. Используйте FutureResult::get, чтобы получить уникальный указатель на экземпляр MATLABEngine, который возвращен startMATLABAsync.

#include "MatlabEngine.hpp"
void startMLSessionAsync() {
    using namespace matlab::engine;

    // Start MATLAB engine asynchronously
    FutureResult<std::unique_ptr<MATLABEngine>> matlabFuture = startMATLABAsync();
    std::unique_ptr<MATLABEngine> matlabPtr = matlabFuture.get();
}

Запуск MATLAB с опций запуска

Можно запустить, сеанс работы с MATLAB с помощью поддержал опции запуска MATLAB. Для получения информации об опциях запуска MATLAB смотрите Обычно Используемые опции запуска. Для получения информации об опциях запуска, поддержанных механизмом, смотрите matlab::engine::MATLABEngine.

Этот пример кода запускает MATLAB с помощью опций matlab.engine.ShareEngine и -r. Создайте вектор, содержащий каждую опцию как элемент в векторе.

#include "MatlabEngine.hpp"
void startMLOptions() {
    using namespace matlab::engine;

    // Start MATLAB with nojvm option
    std::vector<String> optionVec;
    optionVec.push_back(u"-r");
    optionVec.push_back(u"matlab.engine.shareEngine");
    std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB(optionVec);
}

Смотрите также

|

Похожие темы