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