Действительный компонент первого элемента данных в массиве
#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.