由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着社会发展的进步,人们获取数据的量在不断增长,很多人都是,现在已经是海量数据时代了...
从cell使用说起
在读取文件的时候,cell数组(各种翻译都有,元胞数组,单元数组...直接无视)是Matlab的宠儿,基本都会出现,长期使用发现频率比struct高了不少~无论是Import Data还是使用textscan之类来获取数据.从长期使用高级语言的角度来说,特别是习惯了面向对象之后i,更习惯使用struct数组,概念也很相似,奈何现实是...我们先看一下Matlab在help给出的定义:
A cell array is a collection of containers called cells in which you can store different types of data.
精华之处就是在可以存储不同类型的数据.可以是Matlab的类型或者自定义的类型.
cell数组的一些操作
- 创建:直接使用{}以及cell(...)形式,另外 下标法赋值也可以.注意后两种可以预配内存,内存是空间连续的~
- 读取内容:{下标}和(下标)
区别在于类型()是cell数组 ,{}是实际类型.结果显示是一致的 - >> a={'啊',123,[3 5 6],[1 2;7 8],sym(1)}
- a =
-
'啊' [123] [1x3 double] [2x2 double] [1x1 sym] - >> class(a{1})
- ans =
- char
- >> class(a(1))
- ans =
- cell
- >>
- C{5,3}{4,7}(:,4)
- >> a={'啊',123,[3 5 6],[1 2;7 8],sym(1)}