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