mxGetData (Фортран)

Элементы данных в нечисловом mxArray

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

Синтаксис языка ФОРТРАН

#include "fintrf.h"
mwPointer mxGetData(pm)
mwPointer pm

Описание

Используйте mxGetData, чтобы получить элементы данных для нечисловых массивов только.

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

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

Указатель на нечисловой mxArray.

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

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

mwPointer. Поскольку пустые указатели указывают на значение, которое не имеет никакого типа, бросьте возвращаемое значение к типу указателя, который совпадает с типом, заданным pm.

Чтобы скопировать значения с возвращенного указателя, используйте один из mxCopyPtrTo* функции. Например:

C      Get the data in mxArray, pm
       mxCopyPtrToReal8(mxGetData(pm),data,
     +                  mxGetNumberOfElements(pm))

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

Версия API

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

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

mex -R2017b myMexFile.F

Эта функция находится также в чередованном комплексном API. Однако функция возвращает различное значение для комплексного числового входного параметра.

  • Если pm является действительным массивом, то функция возвращает указатель на первый элемент действительной части данных.

  • Если pm является комплексным массивом, то функция возвращает указатель на первый элемент чередованных действительных и мнимых значений, не к действительно-единственным значениям.

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

mex -R2018a myMexFile.F

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

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