【MATLAB】矩阵信息的获取

1、矩阵结构

矩阵的结构是指矩阵子元素的排列方式。

函数名称 函数功能
isempty(A) 检测矩阵是否为空
isscalar(A) 检测矩阵是否是单元素的标量矩阵
isvector(A) 检测矩阵是否是只具有一行或一列元素的一维向量
issparse(A) 检测数组是否是系数矩阵

返回1表示该矩阵是某一特定类型的矩阵,返回0则表示不是。

2、矩阵大小

包括:矩阵的维数;矩阵各维(例如最长维,用户指定的维);矩阵元素的个数。

函数 调用格式 描述
ndims n=ndims(X) 获取矩阵的维数
size [m,n]=size(X) 获取矩阵各维上的长度
length n=length(X) 获取矩阵最长维的长度
numel n=numel(X)

获取矩阵元素的个数

size函数的返回值可以是分开显示的单个实数变量,也可以是一个行向量。

在size函数的输入参数中增加维度参数可以获取指定维度的长度,其中“1”表示行,“2”表示列 

>> A=eye(5,3)

A =

     1     0     0
     0     1     0
     0     0     1
     0     0     0
     0     0     0

>> ndims(A)

ans =

     2

>> length(A)

ans =

     5

>> [m,n]=size(A)

m =

     5


n =

     3

 
>> d=size(A)

d =

     5     3

>> e1=size(A,1)

e1 =

     5

>> e2=size(A,2)

e2 =

     3

>> numel(A)

ans =

    15

3、矩阵维度

对于空矩阵、标量矩阵、一维矩阵、二维矩阵,MATLAB都将其作为普通的二维数组对待。

需要特别注意的是:用[ ]产生的空矩阵是作为二维矩阵的。

>> a=[];b=5;c=1:3;d=magic(2);e(:,:,2)=[1,2;3,4];
>> Ndims = [ndims(a),ndims(b),ndims(c),ndims(d),ndims(e)]

Ndims =

     2     2     2     2     3

4、矩阵的数据类型

矩阵作为MATLAB的内部数据储存和运算结构,其元素可以是各种各样的数据类型(数值,字符串,元胞,结构体等)

矩阵数据类型的测试函数
函数名称 函数功能
isnumeric 检测矩阵元素是否为数值型变量
isreal 检测矩阵元素是否为实数数值型变量
isfloat 检测矩阵元素是否为浮点数值型变量
isinteger 检测矩阵元素是否为整数型变量
islogical 检测矩阵元素是否为逻辑型变量
ischar 检测矩阵元素是否为字符型变量
isstruct 检测矩阵元素是否为结构体型变量
iscell

检测矩阵元素是否为元胞型变量

iscellstr 检测矩阵元素是否为结构体的元胞型变量

5、矩阵占用的内存

了解矩阵占用内存情况,对于优化MATLAB代码性能十分重要。

可以通过whos查看当前工作区中指定变量的所有信息,(变量名,矩阵大小,内存占用,数据类型)

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/81806116