外部インタフェース/API リファレンス    
engOpen

MATLABエンジンセッションの起動

C 言語表示

引数
startcmd
   MATLABプロセスを起動する文字列。Windowsでは、startcmd文字列は、NULLでなければなりません。

戻り値

エンジンのハンドルのポインタ。

詳細

このルーチンは、MATLABを計算エンジンとして用いるために、MATLABプロセスを起動します。

engOpen(startcmd) は、文字列startcmdで指定されたコマンドを使ってMATLABプロセスを起動し、接続を確立し、一意的なエンジンの識別子を出力するか、またはオープンか失敗したらNULLを出力します。

UNIXシステムでは、startcmdNULLまたは空文字列ならば、engOpenはコマンドmatlabを使ってカレントのホストでMATLABを起動します。startcmdがホスト名ならば、engOpenは、指定したホスト名を次のような文字列に組み込むことによって、指定したホスト上のMATLABを起動します。

startcmdがそれ以外の文字列である(文字列内に空白を含む、あるいはアルファベット文字でない)場合、文字列はMATLABを起動するためにそのまま実行されます。

UNIXシステムでは、engOpenはつぎのステップに従って実行されます。

  1. 2つのパイプを作成します。
  2. 新たなプロセスを分岐させ、MATLAB(parent)からエンジンプログラム(child)の2つのファイルディスクリプタへstdinstdout を渡すパイプを設定します。
  3. MATLABを起動するためにコマンドを実行します(リモート実行についてはrsh)。

PC上のWindowsでは、engOpenはMATLABへのActiveXチャンネルをオープンします。これは、インストール中に登録されたMATLABを起動します。インストール時に登録しなかった場合は、コマンドラインでつぎのコマンドを入力します。

詳細は、「MATLAB ActiveX Integrationの紹介」を参照してください。

例題

UNIX

CプログラムからMATLABエンジン関数を呼び出す方法を説明するサンプルプログラムは、examplesディレクトリのeng_matサブディレクトリのengdemo.cを参照してください。

Windows

WindowsでCプログラムからMATLABエンジン関数を呼び出す方法を説明するサンプルプログラムは、examplesディレクトリのeng_matサブディレクトリのengwindemo.cを参照してください。


 engGetMatrix (廃版) engOpenSingleUse