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;
3 行 1 列の cell 配列を作成し、disp を呼び出して内容を表示します。
mxcreatecellmatrix(str1,str2,num)
The contents of the created cell is:
'hello'
'world'
[2012]