MATLAB でゼロの配列を作成する
このチュートリアルでは、MATLAB の zeros()
関数を使用してゼロの配列を作成する方法について説明します。
MATLAB で zeros()
関数を使用してゼロの配列を作成する
Matlab の zeros()
関数を使用して、ゼロの配列または行列を作成できます。この関数は、複数の入力を除きます。スケーラー入力が 1つだけ指定されている場合、zeros()
関数は n 行 n 列のゼロ行列を返します。たとえば、サイズが 3 行 3 列のゼロの行列を作成しましょう。以下のコードを参照してください。
ZeroV = zeros(3)
出力:
ZeroV =
0 0 0
0 0 0
0 0 0
行列のサイズまたは次元の単一の入力が指定されている場合、zeros()
関数は、次元が入力サイズと同じになるゼロの行列を返します。たとえば、サイズが 2 行 3 列のゼロの行列を作成しましょう。以下のコードを参照してください。
ZeroV = zeros([2 3])
出力:
ZeroV =
0 0 0
0 0 0
出力からわかるように、出力行列は 2 行 3 列です。N1、N2、…、Nn のように複数のスケーラー入力が提供されている場合、zeros()
関数はサイズ N1 x -….. xNn のゼロの行列を返します。たとえば、サイズが 1 x 2 x3 のゼロの行列を作成しましょう。以下のコードを参照してください。
ZeroV = zeros(1,2,3)
出力:
ZeroV(:,:,1) =
0 0
ZeroV(:,:,2) =
0 0
ZeroV(:,:,3) =
0 0
ご覧のとおり、出力行列には 3つの次元があります。いくつかの値の行列があり、最初の行列と同じサイズまたは次元を持つ必要があるゼロの行列を作成するとします。その場合、size()関数を使用して前の行列のサイズを取得し、それを zeros()
関数に渡して、同じサイズまたは次元のゼロの行列を作成できます。たとえば、別の行列と同じサイズのゼロの行列を作成しましょう。以下のコードを参照してください。
mat = [1 2; 3 6]
ZeroV = zeros(size(mat))
出力:
mat =
1 2
3 6
ZeroV =
0 0
0 0
出力からわかるように、両方の行列のサイズまたは次元は同じです。zeros()
関数内の like プロパティを使用して、他の行列と同じデータ型を持つゼロの行列を取得することもできます。以下のコードを参照してください。
mat = int16([1 2 3 6])
ZeroV = zeros(size(mat),'like',mat)
出力:
mat =
1×4 int16 row vector
1 2 3 6
ZeroV =
1×4 int16 row vector
0 0 0 0
出力からわかるように、両方の行列のデータ型は同じ int16 です。別の行列データ型をコピーしたくない場合は、データ型を zeros()
関数内に置くことができ、出力は同じデータ型になります。たとえば、データ型 int8 の行列を作成しましょう。以下のコードを参照してください。
mat = [1 2 3 6]
ZeroV = zeros(size(mat),'int8')
出力:
mat =
1 2 3 6
ZeroV =
1×4 int8 row vector
0 0 0 0
出力からわかるように、ゼロの行列のデータ型は int8 です。zeros()
関数を使用したくない場合は、コロン演算子を使用してインデックスのベクトルを作成し、次にこれらのインデックスにゼロを配置して、ゼロの配列またはベクトルを作成できます。たとえば、サイズが 1 x10 のゼロのベクトルを作成しましょう。以下のコードを参照してください。
i = 1:10;
zeros(i) = 0
出力:
zeros =
0 0 0 0 0 0 0 0 0 0
出力からわかるように、ベクトルには 10 個のゼロが含まれています。