Main Content

mxCreateNumericArray (Fortran)

Fortran 構文

#include "fintrf.h"
mwPointer mxCreateNumericArray(ndim, dims, classid, ComplexFlag)
mwSize ndim
mwSize dims(ndim)
integer*4 classid, ComplexFlag

説明

mxCreateNumericArray を使用して、N 次元の mxArray を作成します。

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

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

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

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

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

MATLAB クラス名

Fortran の型

int8

BYTE

int16

INTEGER*2

int32

INTEGER*4

int64

INTEGER*8

single

REAL*4
COMPLEX*8

double

REAL*8
COMPLEX*16

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

入力引数

すべて展開する

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

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

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

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

クラス識別子。integer*4 として指定します。classid は、メモリでの数値データの表現方法を決定します。関数 mxClassIdFromClassName を使用して MATLAB クラス名から classid 値を導き出します。

複素数配列インジケーター。0 または 1 として指定します。

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

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

出力引数

すべて展開する

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

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

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

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

バージョン履歴

R2006a より前に導入