mxSetComplexDoubles (C)

Установите комплексные данные элементы в mxDOUBLE_CLASS массив

Синтаксис C

#include "matrix.h"
int mxSetComplexDoubles(mxArray *pa, mxComplexDouble *dt);

Описание

Использовать mxSetComplexDoubles для установки mxComplexDouble данные в указанном массиве.

Все mxCreate* функции выделяют пространство в куче для хранения данных. Поэтому вы обычно не используете эту функцию для инициализации элементов массива. Скорее вызовите функцию, чтобы заменить существующие значения новыми значениями.

Входные параметры

расширить все

Указатель на mxDOUBLE_CLASS массив.

Указатель на первый mxComplexDouble элемент массива данных. dt должны быть выделены функциями mxCalloc или mxMalloc.

Выходные аргументы

расширить все

Статус функции, возвращенный как int. Если это успешно, то функция возвращается 1.

Если pa является NULL, затем функция возвращается 0.

Функция неудачна, когда mxArray не является несинхронным mxDOUBLE_CLASS массив, или если данные не выделены с mxCalloc. Если функция неудачна, то:

  • Файл MEX - Функция завершает Файл MEX и возвращает управление в MATLAB® приглашение.

  • Автономное (не-MEX файл) приложение - Функция возвращает 0.

Примеры

Обратитесь к arrayFillSetPr.c пример в matlabroot/ extern/examples/refbook папка, которая копирует существующие данные в mxArray. Данные в примере определяются как mxDouble. Можно использовать этот пример как шаблон для любого числового типа C, включая сложный. Предположим, что у вас есть массив с этими значениями.

2.0 + 3.0i
3.0 + 4.0i

Чтобы изменить этот пример для сложных mxDouble данные:

  • Объявить переменные данных

    mxComplexDouble *dynamicData;
    const mxComplexDouble data[] = {{2.0, 3.0}, {3.0, 4.0}};
  • Звонить mxCreateNumericMatrix с mxCOMPLEX аргумент

  • Заменить mxSetDoubles с mxSetComplexDoubles поместить массив C в mxArray

Версия API

Эта функция доступна в перемеженном комплексном API. Как создать myMexFile.c используя эту функцию, введите:

mex -R2018a myMexFile.c
Введенный в R2018a