1.nargin用来判断输入变量个数,nargout用来判断输出变量的个数。
if nargin == 0
error('You must supply the mixed data as input argument.');
end
2.size返回行数和列数
s=size(A) % 行数
[r,c]=size(A) %行数,列数
s=size(A,1) % 行数
s=size(A,2) % 列数
3.length 返回矩阵最大的长度
length(size(A)) 如果是2行3列的话,那么length(size(A)) == 3
4.ndims(a)返回矩阵a的维度
即length(size(A))
ndims([1,2,3;4,5,6]) == 2
5.isnan(A) ,返回一个和A维度相同的数组,如果对应位置是NaN(非数值)的话,那么其对应位置逻辑为1,否则为0。如果对应位置是虚数,那么实部和虚部皆为NaN的话,那么逻辑为1,皆不为NaN的话,那么逻辑为0
6.any(A),判断是否存在非零元素,如果A的元素都是0,返回false,只要存在非零元素,返回true。忽略NaN(当成0)。
any(A,dim) : any(A,1) 检验每列中是否存在非0元素,any(A,2)检验每行中是否存在非0元素。
7.all(A),判断所有元素是否非零,如果A所有元素都非0,返回true,如果存在0元素,返回false
8.mean(A)返回沿数组不同维的元素的平均值
如果A是一个向量,mean(A)返回A中各个元素的平均值
如果A是一个矩阵,mean(A)将每列当成向量,返回一个包含每列向量的平均值的行向量
如果A是一个多维数组,mean(A)将数组的第一个非单一维的值看成一个向量,返回每个向量的平均值
mean(A,dim) dim == 1 则返回每列的平均值, dim == 2 则返回每行的平均值
9.ones()
Y = ones(n) 返回一个 n*n的元素都为1的矩阵
Y = ones(m,n) 或者Y = ones[m n]返回一个 m*n的元素都为1的矩阵
Y = ones(size(A)) 返回一个与A相同维数的大小为1的矩阵
Y = ones(m,n,classname)或者Y = ones([m,n],classname)返回数据类型都为classname的矩阵,元素都为1
classname: 'double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32', 'int64', or 'uint64'。
10.cov(A)返回一个协方差矩阵
如果A为一个向量,那么cov(A)返回x中元素的方差
如果A为一个矩阵,并且各行为观测值,各列为变量的矩阵,cov(A)计算A的协方差。
diag(cov(A)) 包含各列的方差的向量
sqrt(cov(A)) 包含标准差的向量
eg:
考虑A = [-1 1 2 ; -2 3 1 ; 4 0 3],对A每一列求方差:
v = diag(cov(A))'
v =
10.3333 2.3333 1.0000
比较v和协方差C:
C=cov(A)
C =
10.3333 -4.1667 3.0000 Matlab中文论坛
-4.1667 2.3333 -1.5000
3.0000 -1.5000 1.0000
对角元素C(i,i)代表A中每一列的方差,非对角元素代表列i和列j的协方差。
11.[V,D] = eig(A) 计算矩阵A的特征值D和特征矩阵V,满足A*V=V*D,D是A的规范形式:主对角线的元素是矩阵A的特征值的对角矩阵
12.sum(A)返回数组A不同维数的总和
如果A是一个向量,sum(A)返回A中各个元素的总和
如果A是一个矩阵,sum(A)将每列当成向量,返回一个包含每列向量的总和的行向量
如果A是一个多维数组,sum(A)将数组的第一个非单一维的值看成一个数组,返回一个行向量数组
13.flipud(A) 对矩阵A进行关于水平轴上下翻转。
eg:
A =
1 4
2 5
3 6
flipud(A)
ans =
3 6
2 5
1 4
A =
3
5
7
flipud(A)
ans =
7
5
3
A =
3 5 7
flipud(A)
ans =
3 5 7
14.inv(A) 返回方阵A的逆矩阵。