既存の 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 と入力します。
[ファイル名を指定して実行] ダイアログ ボックスの [名前] フィールドに次のコマンドを入力します。mlpath は path コマンドから得られた値に置き換えてください。
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 セッションが使用されます。