mxGetScalar (C и Фортран)

Действительный компонент первого элемента данных в массиве

Синтаксис C

#include "matrix.h"
double mxGetScalar(const mxArray *pm);

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

#include "fintrf.h"
real*8 mxGetScalar(pm)
mwPointer pm

Аргументы

\pm

Указатель на mxArray; не может быть ячейка mxArray, структура mxArray или пустой mxArray.

Возвращается

Значение первого действительного (немнимого) элемента mxArray.

В C mxGetScalar возвращает double. Если действительные элементы в mxArray имеют тип кроме double, то mxGetScalar автоматически преобразовывает скалярное значение в double. Чтобы сохранить исходное представление данных скаляра, бросьте возвращаемое значение к желаемому типу данных.

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

Описание

Вызовите mxGetScalar, чтобы получить значение первого действительного (немнимого) элемента mxArray.

Обычно вы вызываете mxGetScalar, когда pm указывает на mxArray, содержащий только один элемент (скаляр). Однако pm может указать на mxArray, содержащий много элементов. Если pm указывает на mxArray, содержащий несколько элементов, то функция возвращает значение первого действительного элемента. Например, если pm указывает на двумерный mxArray, то mxGetScalar возвращает значение элемента (1,1). Если pm указывает на трехмерный mxArray, то функция возвращает значение элемента (1,1,1); и так далее.

Используйте mxGetScalar на непустом mxArray типа, числового, логического, или char только. Чтобы протестировать на эти условия, используйте Матричные Библиотечные функции, такие как mxIsEmpty, mxIsLogical, mxIsNumeric или mxIsChar.

Если входное значение к mxGetScalar является типом int64 или uint64, то значение может потерять точность, если это больше, чем flintmax.

Примеры

См. следующие примеры в matlabroot / extern / examples / refbook.

См. следующие примеры в matlabroot /extern/examples/mex.

См. следующие примеры в matlabroot / extern / examples / mx.

Смотрите также

mxGetM, mxGetN, mxIsScalar

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