メインコンテンツ

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]

参考

トピック