zeros: 创建数据元素全部为0的矩阵
语法:
B = zeros(n)
B = zeros(m,n)
B = zeros([m n])
B = zeros(m,n,p,...)
B = zeros([m n p ...])
B = zeros(size(A))
zeros(m, n,...,classname)
zeros([m,n,...],classname)
详细描述:
B = zeros(n)
返回一个n行,n列的矩阵,所有元素初始化为0,如果n不是一个标量,将返回错误信息。
B = zeros(m,n) or B = zeros([m n])
返回一个m行,n列的矩阵,所有元素初始化为0。
B = zeros(m,n,p,...) or B = zeros([m n p ...])
返回一个m x n x px...的矩阵,所有元素初始化为0。
注意:m,n,p,...必须是非负整数,负整数将被当做0看待。
B = zeros(size(A))
返回同A矩阵相同维度的数组B,并且每个元素被初始化为0。
zeros(m, n,...,classname) or zeros([m,n,...],classname)
返回一个m x n x p x...的矩阵,所有元素初始化为0,数据类型为classname,classname是用一个string类型描述的输出数据类型。
classname可以为以下列值, 'double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32', 'int64', or 'uint64'。
例子:
x = zeros(2,3,'int8');
附注:
matlab语言中没有用来描述矩阵维度的申明;
matlab会自动为矩阵分配存储空间,然而,对于大型的矩阵,如果用zeros函数来给矩阵预留存储空间,所有的元素都是同时或者按行列被赋值,matlab执行速度会非常快。
例如:
x = zeros(1,n);
for i = 1:n, x(i) = i;
end
其他参见:
eye, ones, rand, randn, complex