Запуск MATLAB® сессия Engine от вашей программы C++ синхронно или асинхронно. Чтобы начать сеанс, используйте одну из этих служебных функций, которые определены в matlab::engine
пространство имен:
matlab::engine::startMATLAB
- Запуск сеанса работы с MATLAB синхронно.
matlab::engine::startMATLABAsync
- Запуск сеанса работы с MATLAB асинхронно.
Для получения информации о том, как настроить и создать программы C++ engine, смотрите Сборка программ C++ Engine.
Запустите MATLAB с C++ синхронно. startMATLAB
возвращает уникальный указатель на MATLABEngine
образец.
#include "MatlabEngine.hpp"
void startMLSession() { using namespace matlab::engine; // Start MATLAB engine synchronously std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB(); }
Запустите 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::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); }
matlab::engine::startMATLAB
| matlab::engine::startMATLABAsync