Запустите сессию Engine MATLAB® со своей программы C++ синхронно или асинхронно. Чтобы запустить сеанс, используйте одну из этих служебных функций, которые заданы в matlab::engine
пространство имен:
matlab::engine::startMATLAB
— Запустите сеанс работы с MATLAB синхронно.
matlab::engine::startMATLABAsync
— Запустите сеанс работы с MATLAB асинхронно.
Для получения информации о том, как установить и создать программы механизма C++, видит Сборку Программы Engine C++.
Запустите 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 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); }
matlab::engine::startMATLAB
| matlab::engine::startMATLABAsync