Main Content

.NET エンジン プログラムの要素

.NET 用の MATLAB® エンジン API を使用すると、.NET プログラムは MATLAB の同期的または非同期的な操作を行えるようになります。サポートされている操作は、以下のとおりです。

  • MATLAB を起動する。

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

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

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

  • 変数を .NET から MATLAB、および MATLAB から .NET に渡す。

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

コーディング環境

.NET 用の MATLAB エンジン API は次のクラスで構成されており、MATLAB 製品に含まれています。

API を使用する前に、ビルドおよびランタイム環境を設定します。詳細については、.NET エンジン プログラムのビルド要件を参照してください。

コーディング パターン

名前空間

MathWorks.MATLAB.Engine 名前空間には、.NET 用の MATLAB エンジンが含まれています。

MathWorks.MATLAB.Types 名前空間には、.NET 用の MATLAB データ API が含まれています。

MathWorks.MATLAB.Exceptions 名前空間には、.NET エンジンの例外クラスが含まれています。

MATLAB セッションの開始

MATLAB セッションを .NET プログラムから同期的または非同期的に開始することができます。次の MathWorks.MATLAB.Engine.MATLABEngine メソッドを使用して MATLAB を開始できます。

  • StartMATLAB — MATLAB セッションを同期的に開始します。

  • StartMATLABAsync — MATLAB セッションを非同期的に開始します。

例については、.NET からの MATLAB セッションの開始を参照してください。

MATLAB 関数を呼び出し、結果を返す

MATLABEngine オブジェクト eng で MATLAB 関数 funcname を呼び出すには、以下を入力します。

retVal = eng.funcname(arg1,arg2,...)

たとえば、-5 から 5 の点の区間で linspace を呼び出すには、以下を入力します。

double[] A = eng.linspace(-5.0,5.0);

他の例については、.NET からの MATLAB 関数の実行 を参照してください。