exponenta event banner

Запуск сеансов MATLAB с C++

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

Сведения о настройке и сборке программ ядра C++ см. в разделе Сборка программ ядра 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 с помощью -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);
}

См. также

|

Связанные темы