C++에서 MATLAB 세션 시작하기
이 예제에서는 C++ 프로그램에서 동기식 또는 비동기식으로 MATLAB® 엔진 세션을 시작하는 방법을 보여줍니다. 세션을 시작하려면 matlab::engine
네임스페이스에 정의된 다음 유틸리티 함수 중 하나를 사용하십시오.
matlab::engine::startMATLAB
— MATLAB 세션을 동기식으로 시작합니다.matlab::engine::startMATLABAsync
— MATLAB 세션을 비동기식으로 시작합니다.
C++ 엔진 프로그램을 설정하고 빌드하는 방법에 관한 자세한 내용은 Requirements to Build C++ Engine Applications 항목을 참조하십시오.
MATLAB 세션을 동기식으로 시작하기
C++에서 MATLAB을 동기식으로 시작합니다. 그러면 startMATLAB
이 MATLABEngine
인스턴스에 대한 고유 포인터를 반환합니다.
#include "MatlabEngine.hpp"
void startMLSession() {
using namespace matlab::engine;
// Start MATLAB engine synchronously
std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB();
}
MATLAB 세션을 비동기식으로 시작하기
C++에서 MATLAB을 비동기식으로 시작합니다. FutureResult::get
을 사용하여 startMATLABAsync
에서 반환된 MATLABEngine
인스턴스에 대한 고유 포인터를 가져옵니다.
#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
을 참조하십시오.
이 예제에서는 -r
옵션 및 matlab.engine.ShareEngine
옵션을 사용하여 MATLAB을 시작합니다. 벡터의 요소로 각 옵션을 포함하는 벡터를 만듭니다.
#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