メインコンテンツ

empty

指定されたクラスの空の配列を作成

説明

empty メソッドは、特定のクラスの空の配列を作成します。MATLAB® での空の配列の概要については、Empty Arraysを参照してください。既存の配列が空の配列かどうかをテストするには、isempty を使用します。

A = ClassName.empty は、指定されたクラスの 0 行 0 列の空の配列を返します。ClassName を実際のクラス名に置き換えます。空の配列の動作の詳細については、MATLAB での空の配列を参照してください。

A = ClassName.empty(sz1,...,szN) は、指定した次元をもつ空の配列を返します。次元の少なくとも 1 つが 0 でなければなりません。

A = ClassName.empty(sizeVector) は、指定した次元をもつ空の配列を返します。次元の少なくとも 1 つが 0 でなければなりません。

すべて折りたたむ

empty メソッドを uint8 に対してサイズを指定せずに呼び出します。

A = uint8.empty
A =

  0×0 empty uint8 matrix

空の配列に値を代入すると、空でない配列に拡張されます。空の配列に代入する値は、配列と同じクラスであるか、そのクラスに変換可能でなければなりません。MATLAB は、配列の他の要素に配列型の既定値を代入します。uint8 の場合は 0 になります。

A(3,3) = 5
A = 3×3 uint8 matrix

   0   0   0
   0   0   0
   0   0   5

空でない配列の初期化

空でない配列を初期化するには、zerosones などの関数を使用して配列を初期値で埋めます。MATLAB には null 値がないため、空でない配列ではすべての要素に値が必要です。たとえば、empty を使用して 3 行 3 列の配列を作成することはできません。これは、少なくとも 1 つの次元は長さが 0 でなければならないためです。

MATLAB では、少なくとも 1 つの次元が 0 であれば、非ゼロ サイズの次元をもつ空の配列を作成できます。こうした空の配列 (0 行 5 列の配列など) は、多くの反復アルゴリズムで自然に発生する可能性があり、0 行 0 列の空の配列と同じルールに従います。この配列はクラスをもちますが、要素は含まれません。

コードをドキュメント化する方法として、非ゼロの次元サイズをもつ空の配列を作成できます。たとえば、0 行 5 列の次元をもつ空の int16 配列を作成します。

A = int16.empty(0,5)
A =

  0×5 empty int16 matrix

A を、1 行 5 列のベクトルを垂直方向に連結して作る 6 行 5 列の整数行列の初期値として使用します。

for i = 1:6
    A = [A; randi(9,[1 5],"int16")];
end
A
A = 6×5 int16 matrix

   8   9   2   9   6
   1   3   5   9   9
   2   9   9   5   8
   2   4   9   8   9
   6   1   8   9   7
   7   7   4   6   2

ベクトルを使用して空の配列の次元を定義します。

V = [0 0 6];
Bdouble = double.empty(V)
Bdouble =

  0×0×6 empty double array

入力引数

すべて折りたたむ

配列の次元。整数として指定します。少なくとも 1 つの次元が 0 でなければなりません。負の値は 0 として扱われます。後続の 1 の次元は配列のサイズに含まれません。

次元のベクトル。整数の行ベクトルとして指定します。少なくとも 1 つの要素が 0 でなければなりません。負の値は 0 として扱われます。後続の 1 の次元は配列のサイズに含まれません。

出力引数

すべて折りたたむ

空の配列。指定されたクラスおよび次元の空の配列として返されます。

詳細

すべて折りたたむ

ヒント

  • empty は、すべての非抽象 MATLAB クラスの隠されたパブリックの静的メソッドです。クラス定義内で empty メソッドをオーバーライドできます。

  • このメソッドは、double 配列の [] など、空の配列を作成するための特殊な構文をもたないデータ型の空の配列を作成する場合に便利です。

バージョン履歴

R2008a で導入