Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

C++ エンジン API

C++ 用の MATLAB® エンジン API は、matlab::engine 名前空間で関数、クラスおよび typedef から構成されています。この API は MATLAB データ API をサポートしており、これによって MATLAB 外で実行されているアプリケーションが MATLAB に依存しないインターフェイスを通して MATLAB データを使用できるようになります。MATLAB データ API の詳細については、MATLAB データ APIを参照してください。

ユーティリティ関数

関数目的
matlab::engine::startMATLABMATLAB セッションを開始する。
matlab::engine::startMATLABAsyncMATLAB セッションを非同期的に開始する。
matlab::engine::connectMATLAB指定された名前を使用するローカル マシン上の共有 MATLAB セッションに接続する。
matlab::engine::connectMATLABAsync指定された名前を使用するローカル マシン上の共有 MATLAB セッションに非同期的に接続する。
matlab::engine::findMATLABローカル マシン上のすべての共有 MATLAB セッションを検索する。
matlab::engine::findMATLABAsyncローカル マシン上のすべての共有 MATLAB セッションを非同期的に検索する。
matlab::engine::convertUTF8StringToUTF16StringUTF-8 文字列を UTF-16 文字列に変換する。
matlab::engine::convertUTF16StringToUTF8StringUTF-16 文字列を UTF-8 文字列に変換する。
matlab::engine::terminateEngineClient実行時にエンジンのリソースを解放する

クラス

クラス目的
matlab::engine::MATLABEngineC++ から MATLAB 関数を実行する。
matlab::engine::FutureResult非同期の操作から結果を取得する。
matlab::engine::WorkspaceTypeMATLAB ワークスペースを BASE または GLOBAL と定義する列挙型クラス

MATLABEngine メンバー関数

matlab::engine::MATLABEngine クラスは、次のメンバー関数を定義します。

メンバー関数目的
feval引数が指定された MATLAB® 関数を同期的に評価する。
fevalAsync引数が指定された MATLAB® 関数を非同期的に評価する。
evalMATLAB® ステートメントを同期的に評価する。
evalAsyncMATLAB® ステートメントを非同期的に評価する。
getVariable変数を MATLAB® ベースまたはグローバル ワークスペースから同期的に取得する。
getVariableAsync変数を MATLAB® ベースまたはグローバル ワークスペースから非同期的に取得する。
setVariable変数を MATLAB® ベースまたはグローバル ワークスペースに同期的に配置する。
setVariableAsync変数を MATLAB® ベースまたはグローバル ワークスペースに非同期的に配置する。
getPropertyオブジェクト プロパティ値を取得する。
getPropertyAsyncオブジェクト プロパティ値を非同期的に取得する。
setPropertyオブジェクト プロパティ値を設定する。
setPropertyAsyncオブジェクト プロパティ値を非同期的に設定する。

例外クラス

例外原因

matlab::engine::Exception

すべての C++ エンジンの例外の基底クラス。

matlab::engine::EngineException

関数に MATLAB ランタイム エラーが存在するか、または MATLAB を起動できません。

matlab::engine::MATLABNotAvailableException

MATLAB セッションを利用できません。

matlab::engine::MATLABSyntaxException

MATLAB 関数に構文エラーが存在します。

matlab::engine::MATLABExecutionException

MATLAB 関数またはステートメントに MATLAB ランタイム エラーが存在します。

matlab::engine::CanceledException

MATLAB 関数の評価がキャンセルされました。

matlab::engine::InterruptedException

MATLAB 関数またはステートメントの評価が中断されると、matlab::engine::FutureResult::get からスローされます。

matlab::engine::TypeConversionException

MATLAB 関数の結果を指定された型に変換できません。

データ サイズの制限

C++ と MATLAB の間で受け渡しされるデータ配列のサイズは 2 GB に制限されています。この制限は、プロセス間で渡されるデータとサポート情報に適用されます。

複数スレッド環境でのエンジンの使用

C++ 用の MATLAB エンジンは、複数スレッド環境で使用しても問題ありません。共有 MATLAB セッションに以下の接続を行うことができます。

  • C++ アプリケーションの個別スレッドから異なる共有 MATLAB セッションに接続する。

  • 複数のエンジン アプリケーションから MATLAB の単一セッションに接続する。

同じプロセスの複数のスレッドを使用して単一の共有 MATLAB セッションに接続することはできません。

関連するトピック