元胞数组
矩阵只适合存放和处理若干相同类型的数据,要想同时存放和处理多种类型的数据就需要用元胞数组。
1. 元胞数组的创建
用“{ }”来创建,以区别创建矩阵的“[ ]”。
(1) 赋值语句创建
a = {'hello' [1 2 3; 4 5 6]; 1 {'1' '2'}}
%创建2×2的元胞数组,
%同行元素间用“, 或空格”隔开
%行与行间用“;”隔开
%第1行第1列的元胞,存放字符串'hello';
%第1行第2列的元胞,存放一个2×3矩阵
%第2行第1列的元胞,存放数 1
%第2行第2列的元胞,存放1×2元胞数组
运行结果:a = 'hello' [2x3 double]
(2) 对元胞数组各元胞一一赋值
例如(1)中的元胞数组a也可以这样创建:
a{1,1} = 'hello';
a{1,2} = [1 2 3; 4 5 6];
a{2,1} = 1;
a{2,2} = {'1' '2'};
(3) 用cell( )函数创建
a = cell(2,3) % 生成2×3的空元胞数组
此时, a = [] [] []
[] [] []
再赋值或操作。
2. 元胞数组元胞的访问
a{i, j}——返回第i行第j列元胞的数据内容。比如,对前例中的元胞数组a,有
a{1,2} = 1 2 3
4 5 6
a(i,j)——返回第i行第j列的元胞外观。比如,a(1,2) = [2x3 double]
3. 元胞数组的操作(函数)
定义 | 代码 |
---|---|
删除a的第i行 | a(i,:) = []; |
判断a是否是元胞数组,返回逻辑值1或0; | iscell(a) |
显示元胞数组a中各元胞的内容 | celldisp(a) |
显示元胞数组a中各元胞的内容,用“cell1”代替元胞数组名“a” | celldisp(a,’cell1’) |
以图形化的方式显示元胞数组a的内容 | cellplot(a) |
将函数fun分别做用在元胞数组a的每个元素上 | cellfun(fun,a) |