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