Main Content

mxGetScalar (C および Fortran)

配列内の最初のデータ要素の実数部

C 構文

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

Fortran 構文

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

引数

pm

mxArray へのポインター。セル mxArray、構造体 mxArray、または空の mxArray は指定できません。

戻り値

mxArray の最初の実数 (非虚数) 要素の値。

C では、mxGetScalardouble を返します。mxArray 内の実数要素が double 以外の型である場合、mxGetScalar はスカラー値を double に自動的に変換します。スカラーの元のデータ表現を保持するには、戻り値を目的のデータ型にキャストします。

pm がスパース mxArray を指している場合、mxGetScalarmxArray 内の最初の非ゼロ実数要素の値を返します。非ゼロ要素がない場合、関数は 0 を返します。

説明

mxGetScalar を呼び出して、mxArray の最初の実数 (非虚数) 要素の値を取得します。

通常、mxGetScalar は、pm が 1 つの要素のみを含む mxArray (スカラー) を指しているときに呼び出します。ただし、pm は多くの要素を含む mxArray を指すことができます。pm が複数の要素を含む mxArray を指している場合、関数は最初の実数要素の値を返します。たとえば、pm が 2 次元の mxArray を指している場合、mxGetScalar(1,1) 要素の値を返します。pm が 3 次元の mxArray を指している場合、この関数は (1,1,1) 要素の値を返します (以下同様)。

mxGetScalar は、空ではない、数値型、logical 型、または char 型の mxArray のみに使用します。これらの条件をテストするには、mxIsEmptymxIsLogicalmxIsNumericmxIsChar などの行列ライブラリ関数を使用します。

mxGetScalar への入力値が int64 型または uint64 型の場合、値が flintmax より大きいと精度が低下する可能性があります。

matlabroot/extern/examples/refbook の次の例を参照してください。

matlabroot/extern/examples/mex の次の例を参照してください。

matlabroot/extern/examples/mx の次の例を参照してください。