Main Content

C MEX ファイルでの 2 次元 cell 配列の作成

この例では、入力引数を cell 配列に配置する関数 mxcreatecellmatrix.c を使用して、MEX 関数内に cell 配列を作成する方法を説明します。

C コードの解析

コードを表示するには、MATLAB® エディターで mxcreatecellmatrix.c を開きます。

入力引数の個数に合わせた cell 配列を作成します。

cell_array_ptr = mxCreateCellMatrix((mwSize)nrhs,1);

入力引数を cell 配列にコピーします。

for( i=0; i<(mwIndex)nrhs; i++){
    mxSetCell(cell_array_ptr,i,mxDuplicateArray(prhs[i]));

例のビルドとテスト

MATLAB コマンド ラインから以下のコマンドを実行します。

例をビルドします。

mex -v mxcreatecellmatrix.c

入力引数を作成します。

str1 = 'hello';
str2 = 'world';
num = 2012;

31 列の cell 配列を作成し、disp を呼び出して内容を表示します。

mxcreatecellmatrix(str1,str2,num)
The contents of the created cell is:

    'hello'
    'world'
    [2012]

関連するトピック