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

MATLAB関数またはユーザ定義のM-ファイルやMEX-ファイルの呼び出し

C 言語表示

引数
nlhs
   希望する出力引数の数。この値は、50以下でなければなりません。

plhs
   mxArrayからなる配列のポインタ。呼び出されるコマンドは、結果のmxArrayのポインタをplhsに置きます。呼び出されるコマンドは、mxArrayを格納するためにダイナミックメモリを割り当てることに注意してください。MATLABはデフォルトで、MEX-ファイルをクリアするときにこのダイナミックメモリの割り当てを自動的に外します。しかし、ヒープ領域を多く確保しておきたい場合は、plhsが指し示すmxArrayをもって終了した後すぐにmxDestroyArrayを呼び出して開放することができます。

nrhs
   入力引数の数。この値は、50以下でなければなりません。

prhs
   入力引数からなる配列のポインタ。

command_name
   呼び出すMATLABの組込みコマンド、演算子、M-ファイル、MEX-ファイル名を含むキャラクタ文字列。command_nameが演算子の場合、シングルコートの組の中に演算子を置きます(例'+')。

戻り値

成功した場合は 0 、そうでない場合は非ゼロの値。

詳細

mexCallMATLABを呼び出すことによって、内部のMATLAB数値関数、MATLAB演算子、M-ファイル、MEX-ファイルを呼び出します。引数の詳しい説明は、mexFunctionを参照してください。

デフォルトでは、command_nameがエラーを検出した場合、MATLABはMEX-ファイルを終了し、制御をMATLABプロンプトに戻します。他のエラー動作を行いたい場合は、mexSetTrapFlagを呼び出してtrapフラグをonにしてください。

mexCallMATLABを使ってタイプmxUNKNOWN_CLASSのオブジェクトを生成することが可能です。たとえば、2つの変数を出力し、それらのうちの1つのみに値を割り当てるM-ファイルを作成する場合

以下のワーニングメッセージが表示されます。

MATLABは、出力bに空行列を割り当てます。それから、mexCallMATLABを使ってfooを呼び出す場合は、割り当てられていない出力変数は、 mxUNKNOWN_CLASSです。

例題

examplesディレクトリのmexサブディレクトリのmexcallmatlab.cを参照してください。

さらに、examplesディレクトリのrefbookサブディレクトリのsincall.cexamplesディレクトリのmexサブディレクトリのmexevalstring.cmexsettrapflag.c; examplesディレクトリのmxサブディレクトリのmxcreatecellmatrix.cmxisclass.cを参照してください。

参考

mexFunction, mexSetTrapFlag


 mexAtExit mexErrMsgTxt