Matlab单元(Cell)数据的应用

时间:2022-03-22 16:21:05

MATLAB里面的cell有的翻译为单元有的翻译为细胞型数据。它是MATLAB的一种特殊数据类型,可以将它看作是一种无所不包的广义矩阵。组成cell的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同。

(1)Cell创建

>> a={'Linda',22;zeros(4,4),magic(9)}

a = 

    'Linda'         [        22]
[4x4 double] [9x9 double]
>> a{1}

ans =

Linda

>> a{2,1}

ans =

     0     0     0     0
0 0 0 0
0 0 0 0
0 0 0 0

(2)Cell的删除和重塑

要删除Cell中的行或列,可以用冒号表示单元数组中的行或列,然后对其赋一个空矩阵即可。

>> L={'Miffy','Lee';ones(3,3),90};
>> L(2,:)=[] L = 'Miffy' 'Lee'

(3)Cell中的操作函数

cell:创建空的单元数组

cellfun:为单元数组的每个单元执行指定的函数

celldisp:显示所有单元的内容

cellplot:利用图形方式显示单元数组

cell2mat:将单元数组转变成为普通的矩阵

mat2cell:将数值矩阵转变成为单元数组

num2cell:将数值数组转变成为单元数组

deal:将输入参数赋值给输出

cell2struct:将单元数组转变成为结构

struct2cell:将结构转变为单元数组

iscell:判断输入是否为单元数组