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 では、mxGetScalar
は double
を返します。mxArray
内の実数要素が double
以外の型である場合、mxGetScalar
はスカラー値を double
に自動的に変換します。スカラーの元のデータ表現を保持するには、戻り値を目的のデータ型にキャストします。
pm
がスパース mxArray
を指している場合、mxGetScalar
は mxArray
内の最初の非ゼロ実数要素の値を返します。非ゼロ要素がない場合、関数は 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
のみに使用します。これらの条件をテストするには、mxIsEmpty
、mxIsLogical
、mxIsNumeric
、mxIsChar
などの行列ライブラリ関数を使用します。
mxGetScalar
への入力値が int64
型または uint64
型の場合、値が flintmax
より大きいと精度が低下する可能性があります。
例
の次の例を参照してください。matlabroot
/extern/examples/refbook
の次の例を参照してください。matlabroot
/extern/examples/mex
の次の例を参照してください。matlabroot
/extern/examples/mx