mxSetComplexDoubles (C)

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

Синтаксис C

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

Описание

Используйте mxSetComplexDoubles, чтобы установить данные mxComplexDouble в заданном массиве.

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

Эта функция не освобождает память выделенный для существующих данных. Чтобы освободить существующую память, вызовите mxFree на указателе, возвращенном mxGetComplexDoubles.

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

развернуть все

Указатель на массив 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

Для просмотра документации необходимо авторизоваться на сайте