Создайте 2D массив ячеек в Файле MEX на C

В этом примере показано, как создать массив ячеек в MEX-функции, с помощью mxcreatecellmatrix.c функция, которая помещает входные параметры в массив ячеек.

Анализ кода С

Чтобы видеть код, откройте mxcreatecellmatrix.c в редакторе MATLAB®.

Создайте массив ячеек для количества входных параметров.

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

Скопируйте входные параметры в массив ячеек.

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;

Создайте 3x1 массив ячеек и вызов disp отобразить содержимое.

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

    'hello'
    'world'
    [2012]

Похожие темы