Main Content

mxCreateNumericArray (C)

C 構文

#include "matrix.h"
mxArray *mxCreateNumericArray(mwSize ndim, const mwSize *dims,
    mxClassID classid, mxComplexity ComplexFlag);

説明

mxCreateNumericArray を使用して、N 次元の mxArray を作成します。データ要素は classid で指定される数値データ型をもちます。

mxCreateNumericArray は次の点で mxCreateDoubleMatrix とは異なります。

  • mxCreateDoubleMatrix 内のデータ要素はすべて倍精度浮動小数点数である。関数 mxCreateNumericArray 内のデータ要素は、異なる整数精度を含めた任意の数値型とすることができる。

  • mxCreateDoubleMatrix は 2 次元配列のみを作成する。mxCreateNumericArray は次元数が 2 以上の配列を作成できる。

MATLAB® は、dims 引数に指定されている、後に続く大きさが 1 の次元を自動的に削除します。たとえば、ndim5dims[4 1 7 1 1] である場合、結果の配列には 4 x 1 x 7 の次元が含まれます。

次の表は、MATLAB クラスに相当する C の classid 値を示しています。

MATLAB クラス名

C の classid

int8

mxINT8_CLASS

uint8

mxUINT8_CLASS

int16

mxINT16_CLASS

uint16

mxUINT16_CLASS

int32

mxINT32_CLASS

uint32

mxUINT32_CLASS

int64

mxINT64_CLASS

uint64

mxUINT64_CLASS

single

mxSINGLE_CLASS

double

mxDOUBLE_CLASS

mxArray の使用が終わったら、mxDestroyArray を呼び出します。関数 mxDestroyArray は、mxArray とそれに関連する実数要素と虚数要素の割り当てを解除します。

入力引数

すべて展開する

次元数。mwSize として指定します。ndim が 2 未満の場合、mxCreateNumericArray は次元数を 2 に設定します。

次元配列。const mwSize * として指定します。

次元配列の各要素には、その次元の配列のサイズが含まれています。たとえば、57 列の配列を作成するには、dims[0] を 5 に、dims[1] を 7 に設定します。

通常、配列 dims には ndim 個の要素が含まれます。

クラス識別子。mxClassID 列挙型として指定します。classid は、メモリでの数値データの表現方法を決定します。たとえば、mxCreateNumericMatrix は、mxINT16_CLASS 値を 16 ビットの符号付き整数として保存します。

複素数配列インジケーター。mxComplexity 値として指定します。

mex -R2018a コマンドでビルドされたアプリケーションの場合、関数は各データ要素を 0 に初期化します。

その他すべての mex リリース固有のビルド オプションの場合、関数は配列 pr で各要素を設定します。ComplexFlagmxCOMPLEX の場合、関数は配列 pi0 に設定します。

出力引数

すべて展開する

classid 型の mxArray へのポインター。mxArray * として指定します。

関数は、mxArray を作成するのに十分な空きヒープ領域がない場合、失敗します。

  • MEX ファイル — 関数は MEX ファイルを終了し、制御を MATLAB プロンプトに戻します。

  • スタンドアロン (非 MEX ファイル) アプリケーション — 関数は NULL を返します。

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

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

バージョン履歴

R2006a より前に導入