mxSetPr (C)

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

mxSetPr не рекомендуется для приложений C. Используйте mxSetDoubles вместо этого. Для получения дополнительной информации смотрите Введенный Доступ к данным.

Синтаксис C

#include "matrix.h"
void mxSetPr(mxArray *pm, double *pr);

Описание

mxSetPr устанавливает действительные данные действительного массива mxDOUBLE_CLASS pm. Если вы создаете с чередованным комплексным API ( опция mex -R2018a), и pm является комплексным, то функция отключает файл MEX и возвращает управление в подсказку MATLAB®. В неприменении файлов MEX функция возвращает NULL.

Вызовите mxIsDouble, чтобы подтвердить тип mxArray. Вызовите mxIsComplex, чтобы решить, что данные действительны.

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

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

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

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

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

Указатель на первый элемент массива. Каждый элемент в массиве содержит действительный компонент значения.

Массив должен быть в динамической памяти; вызовите mxCalloc, чтобы выделить эту память. Не используйте функцию ANSI® C calloc, которая может вызвать продвижение проблем выравнивания памяти к завершению программы. Если pr указывает на статическое ЗУ, то утечки памяти и другие ошибки памяти могут закончиться.

Версия API

Эта функция находится в отдельном комплексном API. Чтобы создать myMexFile.c с помощью этой функции, введите:

mex -R2017b myMexFile.c

Эта функция находится также в чередованном комплексном API. Однако функциональные ошибки для комплексного входного параметра pm. MathWorks рекомендует, чтобы вы обновили свой файл MEX, чтобы использовать Введенные функции Доступа к данным вместо этого.

Чтобы создать myMexFile.c с помощью чередованного комплексного API, введите:

mex -R2018a myMexFile.c

Представлено до R2006a

Была ли эта тема полезной?