在 MATLAB 中创建零数组
本教程将讨论使用 MATLAB 中的 zeros()
函数创建零数组。
使用 MATLAB 中的 zeros()
函数创建零数组
我们可以使用 Matlab 的 zeros()
函数来创建零数组或矩阵。此功能不包括多个输入。如果只提供一个缩放器输入,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-by-…..-by-Nn 的零矩阵。例如,让我们创建一个大小为 1×2×3 的零矩阵。请参阅下面的代码。
ZeroV = zeros(1,2,3)
输出:
ZeroV(:,:,1) =
0 0
ZeroV(:,:,2) =
0 0
ZeroV(:,:,3) =
0 0
如你所见,输出矩阵具有三个维度。假设你有一个包含一些值的矩阵,并且你想要创建一个零矩阵,该矩阵的大小或维度应与第一个矩阵相同。在这种情况下,你可以使用 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×10 的零向量。请参阅下面的代码。
i = 1:10;
zeros(i) = 0
输出:
zeros =
0 0 0 0 0 0 0 0 0 0
正如你在输出中看到的,向量包含十个零。