MATLAB元胞数组

元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞(cell)。和一般的数值矩阵一样,元胞数组的内存空间也是动态分配的。

元胞数组的定义可以用两种方法来实现,一种是用赋值语句直接定义,另一种是由cell函数预分配存储空间,而后对元胞元素逐个赋值。

例:

第一种:

>> a=[1,3,5;2,4,6];
>> b=[1,3;5,7;9,11];
>> x={a,b,[1,2,3,4;5,6,7,8];'love',1:3,a*b}

x = 

    [2x3 double]    [3x2 double]    [2x4 double]
    'love'          [1x3 double]    [2x2 double]

第二种:

>> y=cell(2,3)


y = 


    []    []    []
    []    []    []

>> y{1,1}=a;

>> y{1,2}=b;

>> y{1,3}=[1,2,3,4;5,6,7,8];

>> y{2,1}='love';

>> y{2,2}=1:3;

>> y{2,3}=a*b;

>> y


y = 


    [2x3 double]    [3x2 double]    [2x4 double]
    'love'          [1x3 double]    [2x2 double]


元胞数组常用函数:

函数名 说明 函数名 说明
cell 生成元胞数组 deal 输入/输出处理
cellfun 对元胞数组变量中的元素函数 cell2struct 将元胞数组转换为结构数组
celldisp 显示元胞数组变量的内容 struct2cell 将结构数组转换为元胞数组
cellplot 用图形显示元胞数组变量的内容 iscell 判断是否为元胞数组变量
num2cell 将数值数组转换为元胞数组 reshape 改变元胞数组的结构

猜你喜欢

转载自blog.csdn.net/fengkuangdexiaoji123/article/details/80932086