Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

C++ からの MATLAB セッションの開始

C++ プログラムから同期的または非同期的に MATLAB® エンジン セッションを開始します。セッションを開始するには、matlab::engine 名前空間で定義されている次のユーティリティ関数のいずれかを使用します。

C++ エンジン プログラムを設定およびビルドする方法の詳細については、C++ エンジン プログラムのビルドを参照してください。

MATLAB セッションの同期的な開始

MATLAB を C++ から同期的に起動します。startMATLAB から MATLABEngine インスタンスへの一意のポインターが返されます。

#include "MatlabEngine.hpp"
void startMLSession() {
    using namespace matlab::engine;

    // Start MATLAB engine synchronously
    std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB();
}

MATLAB セッションの非同期的な開始

MATLAB を C++ から非同期的に起動します。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);
}

参考

|

関連するトピック