メインコンテンツ

C++ からの MATLAB の呼び出し

オブジェクト指向プログラミング サポートと非同期実行による C++ プログラムから MATLAB® コードを実行する

C++ 用の MATLAB エンジン API は、C++ プログラミング言語と MATLAB 間のインターフェイスを提供します。この API を使用すると、C++ プログラムで MATLAB を起動し、引数をもつ MATLAB 関数を評価し、MATLAB と C++ プログラム間のデータ交換を行うことができます。サポートされている操作は、以下のとおりです。

  • MATLAB を起動する。

  • ローカル マシンの共有 MATLAB セッションに同期的に接続する。

  • C++ から渡される入力引数と MATLAB から返される出力変数を使って MATLAB 関数を呼び出す。

  • MATLAB ベース ワークスペースで MATLAB ステートメントを評価する。

  • 変数を C++ から MATLAB、および MATLAB から C++ に渡す。

はじめに、Set Up C++ Development Environmentを参照してください。

C++ 用の MATLAB エンジン API はC++ 用の MATLAB データ APIを使用します。これは、MATLAB の外部で実行されているアプリケーションに対し、言語に依存しないインターフェイス経由で MATLAB データを操作する方法を提供します。エンジン API には、"厳密に型指定されたインターフェイス" も用意されています。このインターフェイスは、MATLAB と C++ の間で厳密なデータ型マッピングを適用します。この厳密に型指定されたインターフェイスを使用することで、MATLAB 関数およびクラスを、ネイティブ C++ 関数およびクラスであるかのように C++ で MATLAB の名前によって呼び出すことができます。例については、Integrate Strongly Typed MATLAB Data in C++ Applicationを参照してください。

クラス

すべて展開する

matlab::engine::MATLABEngineC++ プログラムから MATLAB 関数を評価
matlab::engine::FutureResult非同期演算の結果を取得する
matlab::engine::SharedFutureResult 非同期演算の結果を共有 future として取得する
matlab::engine::StreamBuffer ストリーム バッファーの定義
matlab::engine::String UTF-16 文字列の定義
matlab::engine::WorkspaceTypeMATLAB ワークスペースのタイプ

関数

すべて展開する

matlab::engine::startMATLABMATLAB を同期的に起動する
matlab::engine::startMATLABAsyncMATLAB を非同期的に起動する
matlab::engine::connectMATLAB共有 MATLAB セッションに同期的に接続する
matlab::engine::connectMATLABAsync共有 MATLAB セッションに非同期的に接続する
matlab::engine::findMATLAB共有 MATLAB セッションを同期的に検索する
matlab::engine::findMATLABAsync共有 MATLAB セッションを非同期的に検索する
matlab::engine::terminateEngineClient実行時におけるエンジンのリソースの解放
matlab::engine::convertUTF8StringToUTF16StringUTF-8 文字列から UTF-16 文字列への変換
matlab::engine::convertUTF16StringToUTF8StringUTF-16 文字列から UTF-8 文字列への変換
matlab.engine.shareEngine実行中の MATLAB セッションを共有セッションに変換
matlab.engine.engineName共有 MATLAB セッションの名前を返す
matlab.engine.isEngineSharedMATLAB セッションが共有されているかどうかの判別
matlab.engine.typedinterface.generateCPPGenerate C++ code interface for MATLAB namespaces, classes, and functions (R2022a 以降)
mexMEX 関数またはエンジン アプリケーションのビルド

トピック

要件

C++ での MATLAB コードの統合

MATLAB を起動して接続する

MATLAB 関数の呼び出し

C++ での MATLAB データ型の使用

注目の例