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

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

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

Синхронный запуск сеанса работы с 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 с помощью -r и matlab.engine.ShareEngine опции. Создать вектор, содержащий каждую опцию в качестве элемента в векторе.

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

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

См. также

|

Похожие темы