外部インタフェース/API    

MATLABのデータタイプ

複素倍精度行列

MATLABの最も一般的なデータタイプは、複素数倍精度非スパース行列です。これらの行列は、タイプdoubleで、mn列です。ここで、mは行数で、nは列数です。データは、倍精度数の2つのベクトルとして格納されます。1つには実数データが含まれ、もう1つには虚数データが含まれます。このデータのポインタは、pr (実数データのポインタ)およびpi (虚数データのポインタ)として参照されます。実数のみの倍精度行列は、piNULLです。

数値行列

MATLABは、その他のタイプの数値行列もサポートします。これらは、符号付きおよび符号なしの単精度浮動小数点および8, 16, 32ビット整数です。データは、倍精度行列と同じ方法で2つのベクトルに格納されます。

MATLAB文字列

MATLAB文字列は、タイプcharで、虚数データ成分がないことを除いて、符号なし16ビット整数と同じ方法で格納されます。文字列内の各キャラクタは、16ビットASCII Unicodeとして格納されます。Cと異なり、MATLAB文字列はNULLで終了しません。

スパース行列

スパース行列は、MATLABではフル行列とは異なるストレージ方法をもちます。パラメータprpiは、倍精度数の配列ですが、nzmax, ir, jcの3つの新しいパラメータがあります。

セル配列

セル配列は、mxArrayがセルとして参照されるMATLAB配列の集合です。これにより、異なるタイプのMATLAB配列を一緒に格納することができます。セル配列は、データ部分がmxArrayのポインタのベクトルを含むことを除いて、数値配列と同じ方法で格納されます。このベクトルの要素は、セルと呼ばれます。各セルは、それ以外のセル配列を含む、任意のサポートされているデータタイプでかまいません。

構造体

1行1列の構造体は、1行n列のセル配列と同じ方法で格納されます。ここでnは、構造体のフィールド数です。データベクトルの要素は、フィールドと呼ばれます。各フィールドは、mxArrayに格納された名前に関連付けられます。

オブジェクト

オブジェクトは、構造体と同じ方法で格納およびアクセスされます。MATLABでは、オブジェクトは登録されたメソッドをもつ名前が付いた構造体です。MATLAB以外では、オブジェクトはオブジェクト名を識別する追加のクラス名に対するストレージを含む構造体です。

多次元配列

任意のタイプのMATLAB配列は、多次元にすることができます。整数のベクトルは、各要素が対応する次元のサイズであるとして格納されます。データのストレージは、行列と同じです。

論理配列

非複素数数値配列またはスパース配列は、論理配列としてフラグを付けることができます。論理配列に対するストレージは、非論理配列に対するストレージと同じです。

空配列

任意のタイプのMATLAB配列は、空にすることができます。空のmxArrayとは、少なくとも1つの次元が0と等しいmxArrayです。たとえば、タイプdoubleの倍精度mxArrayは、mnが0に等しく、prNULLであるとき空配列です。


 データストレージ データタイプの使用法