Действительный компонент первого элемента данных в массиве
#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. Чтобы протестировать эти условия, используйте функции Matrix Library, такие как mxIsEmpty
, mxIsLogical
, mxIsNumeric
, или mxIsChar
.
Если входное значение mxGetScalar
тип int64
или uint64
, тогда значение может потерять точность, если это больше, чем flintmax
.
См. эти примеры в
:matlabroot
/ extern/examples/refbook
См. эти примеры в
:matlabroot
/ extern/examples/mex
См. эти примеры в
:matlabroot
/ extern/examples/mx