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

mxArrayをMEX-ファイルから別のワークスペースにコピー

C 言語表示

引数
array_ptr
   mxArrayのポインタ。

workspace
   コピーする配列の範囲を指定します。取りうる値は以下の通りです。

base
nameをカレントのMATLABワークスペースにコピーします。
caller
nameを実際にこのMEX-ファイルを呼び出したエントリ(M-ファイル、MEX-ファイル、MATLABワークスペース)のワークスペースにコピーします。
global
nameをグローバル変数のリストにコピーします。

戻り値

成功した場合は0、失敗した場合は1。考えられる失敗の原因は、array_ptrNULL であることです。それ以外の可能性は、array_ptrが関連する名前をもたないmxArrayをポイントしていることです(mxSetNameを呼び出して、nameとarray_ptrを関連付けてください)。

詳細

mexPutArrayを呼び出すことによって、指定したmxArrayをユーザのMEX-ファイルから別のワークスペースにコピーします。mexPutArrayは、MATLAB、M-ファイル、MEX-ファイルのような他のエントリから指定した配列をアクセスできるようにします。

array_ptrは変数名と混同しがちです。変数名はMATLABワークスペース内で操作されます。array_ptrsはMEX-ファイル内で操作されます。mexPutArrayを呼び出すとき、array_ptrを指定しますが、受け入れ側のワークスペースは、変数名を受け取ります。MATLABは、受け取ったmxArraynameフィールドを見て変数名を決定します。

同名の変数が指定したworkspaceに既に存在する場合は、mexPutArrayは以前の変数の内容を、新たなmxArrayの内容で書き換えます。たとえば、MATLABワークスペースが変数Peachesをつぎのように定義するとします。

mexPutArrayを呼び出してPeachesをMATLABワークスペースにコピーします。

その後、Peachesの前の値は消え、mexPutArrayによって渡された値によって置き換えられます。

例題

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

参考

mexGetArray


 mexPrintf mexPutFull (廃版)