Matlab cell矩阵处理

  • Post author:
  • Post category:其他




前言

在和师弟师妹讨论数据处理的时候,发现自己对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(:)=[];



版权声明:本文为lvsehaiyang1993原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。