[转]MATLAB cell数据类型

细胞型数据类型(cell)使不同类型不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组。

1、细胞型数据的定义

1)直接赋值定义:细胞型变量在定义时需要使用大括号,元素用都好隔开

     例: B = {1:4,A,‘abcd’}

2)使用cell函数,预先为细胞型变量定义空间

     例: A = cell(m,n) 定义一个空的m行n列的cell类型

2、细胞型数据的访问

    对细胞型变量元素的引用应当采用大括号作为下标的标示,用小括号作为下标标示时,将只显示该元素的压缩形式。

比如:A = {1:4,2.5,‘abc’};
>> A

A =

[1x4 double] [2.5000] 'abc'

>> A(1,1)

ans =

[1x4 double]
>> A{1,1}

ans =

1 2 3 4
>> A(1,2)

ans =

[2.5000]

>> A{1,2}

ans =

2.5000
>> A(1,3)

ans =

'abc'
>> A{1,3}

ans =

abc
>> A{1,1}(2)

ans =

2

2 ) 改变cell类型元素的值
>> A{1,2} = 3:4
A =
[1x4 double] [1x2 double] 'abc'
>> A{1,2}
ans =
3 4

3)删除cell中的元素,需要用A(1)=[],若使用A{1}=[]只能将该元素置空不能删除

>> A
A =

[1x4 double] [1x2 double] 'abc'

>> A(2) = []
A =

[1x4 double] 'abc'

>> A{2} = []
A =

[1x4 double] []

4) 图形显示cell数组

cellplot(A)

函数名
说明
cell(m,n) 创建一个m行n列的细胞型变量
cellfun('fun’,A) 对细胞型变量A作用fun函数,fun可以为isreal,isempty,length,islogical,ndims等
celldisp(A) 完全显示细胞型变量的内容
cellplot(A) 用图形显示细胞型变量的内容
num2cell 将数值数组转换为细胞型变量
deal 输入输出处理
cell2struct 将细胞型变量转换为结构型变量
struct2cell 将结构型变量转换为细胞型变量
iscell 判断是否为细胞型变量
reshape 改变细胞型数组的结构

原文地址:https://www.cnblogs.com/rong86/p/3552696.html