Main Content

mexPutVariable (C)

MEX 関数から指定されたワークスペースへの配列

C 構文

#include "mex.h"
int mexPutVariable(const char *workspace, const char *varname, 
  const mxArray *pm);

説明

メモ

最新の C++ の機能とC++ 用の MATLAB データ APIを使用して MEX 関数を作成するには、MATLAB (MEX ファイル) から呼び出せる C++ 関数の記述を参照してください。

mexPutVariable を呼び出して、ポインター pm にある mxArray を MEX 関数から指定のワークスペースにコピーします。MATLAB® によって、ワークスペースにコピーされた mxArrayvarname が割り当てられます。

mexPutVariable により、MATLAB、ユーザー定義関数、他の MEX 関数などの他のエンティティで配列にアクセスできるようになります。

指定されたワークスペースに同じ名前の変数が存在する場合、mexPutVariable は変数の以前の内容を新しい mxArray の内容で上書きします。たとえば、MATLAB ワークスペースが変数 Peaches を以下のように定義するとします。

Peaches
1     2     3     4

そして、mexPutVariable を呼び出して Peaches を同じワークスペースにコピーします。

mexPutVariable("base", "Peaches", pm)

mexPutVariable によって渡される値は Peaches の古い値を置換します。

入力引数

すべて展開する

コピーする配列のスコープ。const char* として指定します。使用可能な値は以下のとおりです。

base

mxArray をベース ワークスペースにコピーします。

caller

mxArray を呼び出し側ワークスペースにコピーします。

global

mxArray をグローバル変数のリストにコピーします。

ワークスペース内の mxArray の名前。const char* として指定します。

変数名には MATLAB 関数名を使用しないでください。関数名と競合する一般的な変数名には、ijmodecharsizepath などがあります。特定の名前が MATLAB 関数と関連しているかどうかを判断するには、関数 which を使用します。

mxArray へのポインター。

出力引数

すべて展開する

ステータス。成功した場合は 0 として返されます。失敗した場合は 1 が返されます。考えられる失敗の原因は、pmNULL になっていることです。

matlabroot/extern/examples/mex の次の例を参照してください。

バージョン履歴

R2006a より前に導入