Matlab学习细节

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是一个3×2的矩阵

A = 
       1 4 
       2 5 
       3 6 

flipud(A) 
ans = 
        3 6 
        2 5 
        1 4 

例二:A是一个列向量

A = 
      3 
      5 
      7 

flipud(A) 
ans = 
        7 
        5 
        3 

例三:A是一个行向量

A = 
       3 5 7 

flipud(A) 
ans = 
        3 5 7 

 

14.inv(A) 返回方阵A的逆矩阵。

 

 

 

你可能感兴趣的:(Matlab学习细节)