Установите реальные элементы данных в mxINT16_CLASS массив
#include "matrix.h" int mxSetInt16s(mxArray *pa, mxInt16 *dt);
Использовать mxSetInt16s для установки mxInt16 данные в указанном массиве.
Все mxCreate* функции выделяют пространство в куче для хранения данных. Поэтому вы обычно не используете эту функцию для инициализации элементов массива. Скорее вызовите функцию, чтобы заменить существующие значения новыми значениями.
Обратитесь к arrayFillSetPr.c пример в папка, которая копирует существующие данные в matlabroot/ extern/examples/refbookmxArray. Данные в примере определяются как mxDouble. Чтобы изменить этот пример для int16 данные:
Объявите переменные данных следующим mxInt16
Звонить mxCreateNumericMatrix с числовым типом mxINT16_CLASS
Заменить mxSetDoubles с mxSetInt16s поместить массив C в mxArray
Эта функция доступна в перемеженном комплексном API. Как создать myMexFile.c используя эту функцию, введите:
mex -R2018a myMexFile.c