| 外部インタフェース/API リファレンス | ![]() |
C 言語表示
#include "matrix.h" mxArray *mxCreateNumericArray(int ndim, const int *dims, mxClassID class, mxComplexity ComplexFlag);
引数
ndim
次元数。ndimsに対して2よりも小さい値を指定した場合は、mxCreateNumericArrayは次元数を2に自動的に設定します。
dims
dims[0]を5に、dims[1]を7に設定すると、5行7列のmxArrayを作成します。ほとんどの場合で、dims配列内にはndim個の要素があります。
class
mxINT16_CLASSと指定すると、mxArray内の各数値データは16ビット符号付き整数として表されます。mxNUMERIC_CLASS, mxSTRUCT_CLASS, mxCELL_CLASS, mxOBJECT_CLASS以外の任意のクラスを指定することができます。
ComplexFlag
mxREALまたはmxCOMPLEXを指定。mxArray内に設定しようとするデータに虚数要素が含まれない場合は、mxREALを指定します。データに虚数要素が含まれる場合は、mxCOMPLEXを指定します。
戻り値
成功した場合は、作成したmxArrayのポインタ。スタンドアロン(非MEX-ファイル)アプリケーションで成功しない場合は、mxCreateNumericArrayはNULLを出力します。MEX-ファイルで成功しない場合は、MEX-ファイルは終了し、制御がMATLABプロンプトに戻ります。 mxCreateNumericArrayは、mxArrayを作成するために十分なフリーなヒープ領域がないときには成功しません。
詳細
mxCreateNumericArrayを呼び出して、すべてのデータ要素がclassで指定された数値データタイプをもつN次元のmxArrayを作成します。 mxArrayを作成した後で、mxCreateNumericArrayはすべての実数データ要素を0に初期化します。ComplexFlagがmxCOMPLEXと等しい場合は、mxCreateNumericArrayはすべての虚数データ要素も0に初期化します。mxCreateNumericArrayは、2つの重要な点がmxCreateDoubleMatrixと異なります。
mxCreateDoubleMatrix内のすべてのデータ要素は、倍精度浮動小数点数です。mxCreateNumericArray内のデータ要素は、異なる整数精度を含む任意の数値タイプでかまいません。mxCreateDoubleMatrixは、2次元配列のみを作成できます。mxCreateNumericArrayは、2次元以上の配列を作成できます。mxCreateNumericArrayは、作成したmxArrayを格納するためにダイナミックメモリを割り当てます。作成したmxArrayを終了するときに、メモリを開放するためにmxDestroyArrayを呼び出してください。
例題
examplesディレクトリのrefbookサブディレクトリのphonebook.cとdoubleelement.c を参照してください。さらにexamplesディレクトリのmxサブディレクトリのmxisfinite.cを参照してください。
参考
mxClassID, mxCreateDoubleMatrix, mxCreateSparse, mxCreateString, mxComplexity
| mxCreateFull (廃版) | mxCreateNumericMatrix | ![]() |