元胞数组矩阵只能存放若干单一类型的数据,且不能存放矩阵(即矩阵元素不能是矩阵),也就是说矩阵只适合同时处理若干相同类型的数据
Matlab编程有时需要突破这种局限,同时处理不同类型的数据,或者处理更高层面的数据时需要把若干矩阵作为“元素”整体处理(当然,如果是同样大小的若干矩阵可以采用高一维的矩阵),就需要元胞数组了
做个比喻的话,元胞数组就好比“橱柜”,由若干个“抽屉”构成,每个“抽屉”里可以存放任何“东西”(数据类型,包括矩阵)
这为Matlab编程提供了极大的方便性和灵活性
注:矩阵的“元素”,叫做元素;元胞数组的“元素”,叫做元胞
元胞数组更准确的叫法,应该叫元胞矩阵
一、元胞数组的创建三种方法:1
直接通过赋值语句创建元胞数组可以理解成更大级别的矩阵(能存放矩阵),用“{}”来创建,以区别创建矩阵的“[]”a={'hello'[123;456];1{'1''2'}}%创建2×2的元胞数组,%同行元素间用“,或空格”隔开%行与行间用“;”隔开%第1行第1列的元胞,存放字符串'hello';%第1行第2列的元胞,存放一个2×3矩阵%第2行第1列的元胞,存放数1%第2行第2列的元胞,存放1×2元胞数组运行结果:a='hello'[2x3double][1]{1x2cell}2
对元胞数组各元胞一一赋值例如(1)中的元胞数组a也可以这样创建:a{1,1}='hello';a{1,2}=[123;456];a{2,1}=1;a{2,2}={'1''2'}};3
用cell()函数创建a=cell(2,3)%生成2×3的空元胞数组此时,a=[][][][][][]再赋值或操作
二、元胞数组元胞的访问访问元胞数组的元素根据不同需要有两种语法:(1)用“{}”a{i,j}——返回第i行第j列元胞的数据内容
比如,a为前例中的元胞数组,a{1,2}=123456(2)用“(