メインコンテンツ

既存の MATLAB セッションへの接続

この例では、Windows® プラットフォームで既に実行中の MATLAB® セッションにエンジン プログラムを接続する方法を説明します。

MATLAB では、macOS プラットフォームや Linux® プラットフォームで既存の MATLAB セッションにエンジン プログラムを接続することはサポートされていません。

Windows プラットフォームでは、コマンド ラインで -automation を指定して MATLAB を起動します。関数 engOpen を呼び出すと、この既存のセッションに接続します。関数 engOpen の呼び出しはすべてこの 1 つの MATLAB セッションに接続するため、関数 engOpen は一度だけ呼び出します。

また、-automation オプションによって、コマンド ウィンドウが最小化されます。ウィンドウは手動で開かなければなりません。

MATLAB で、次のコマンドから返された値をキャプチャします。

mlpath = fullfile(matlabroot,"bin","win64")

すべての MATLAB セッションをシャットダウンします。

Windows メニュー バーの [スタート] ボタンから、run と入力します。

[ファイル名を指定して実行] ダイアログ ボックスの [名前] フィールドに次のコマンドを入力します。mlpathpath コマンドから得られた値に置き換えてください。

mlpath\matlab.exe -automation

MATLAB を起動するには、[OK] をクリックします。

MATLAB で engwindemo.c の例を書き込み可能なフォルダーにコピーします。

copyfile(fullfile(matlabroot,"extern","examples","eng_mat","engwindemo.c"),".", "f")

例をビルドします。

mex -client engine engwindemo.c

MATLAB プロンプトで以下を入力して、engwindemo プログラムを実行します。

!engwindemo

このコマンドでは、新たに MATLAB セッションを起動するのではなく、既に開いている MATLAB セッションが使用されます。