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