C++에서 MATLAB 세션 시작하기
C++ 프로그램에서 동기식 또는 비동기식으로 MATLAB® 엔진 세션을 시작합니다. 세션을 시작하려면 matlab::engine
네임스페이스에 정의된 다음 유틸리티 함수 중 하나를 사용하십시오.
matlab::engine::startMATLAB
— MATLAB 세션을 동기식으로 시작합니다.matlab::engine::startMATLABAsync
— MATLAB 세션을 비동기식으로 시작합니다.
C++ 엔진 프로그램을 설정하고 빌드하는 방법에 관한 자세한 내용은 C++ 엔진 프로그램 빌드를 위한 요구 사항 항목을 참조하십시오.
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