前言
在和师弟师妹讨论数据处理的时候,发现自己对cell的操作还不是很熟练,因此,上网搜索了一下,并总结成了这份笔记。
基本概念
Cell是Matlab中的一种数据类型,概念和结构,类似。
用大括号{}创建,括号里可以是任意类型的数据或矩阵。
cell的创建:
1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把”[]“改成了”{}”
c={‘a’,‘b’,‘d’,‘e’}
c =
'a' 'b' 'd' 'e'
2.使用cell(小写)创建cell(元胞),C= {C1 C2},这里C1和C2都是cell类型,
直接把C1 C2作为一个cell得到的C3是一个1×2的cell数组;
使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组
c3=[c,c2]
c3 =
'a' 'b' 'd' 'e' 'a' 'b' 'd' 'e'
3={c,c2}
c3 =
{1x4 cell} {1x4 cell}
3.使用cell函数,A=cell(2,2),创建一个【空的2×2的cell矩阵】.
cell的访问:
1.X= C(s)使用这种”()”形式的返回的是cell类
2.X =C{s}使用这种”{}”形式的返回的是cell中的内容
3.其他的基本上与通常的数组.矩阵访问一样了
4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
6.cell的图形化显示使用命令cellplot(A)即可如B={[1;2]},
这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2],要引用里面的数据只要在大括号里写上对应的下B{1}。
下面我们给B再加个元素:
我们可以这样定义B(2)={‘hello’}。
也可以利用引用的方法定义B{2}=’hello’。
第二种方法比第一种方法更方便所以更常用。
B(2)={‘hello’}
B =
[] 'hello'
b{2}=‘hello’
b =
[] 'hello'
这样B就有两个元素了,B(1)是[],B(2)是{‘hello’},每个元素都是cell型的
(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是’hello’)
采用“()”或“{}”形式访问元胞数组的元素,A(2,1)返回的是元胞数组A在(2,1)位置上的元胞,而A{2,1}返回的是元胞数组A在(2,1)位置上的元胞中的数据。
celldisp(A)可以显示元胞数组A在每一个位置上的元胞中的元素/数据。
7 cell的删除
B(:)=[];