exponenta event banner

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