元胞数组 矩阵只能存放若干单一类型的数据,且不能存放矩阵(即矩阵元素不能是矩阵),也就是说矩阵只适合同时处理若干相同类型的数据
Matlab 编程有时需要突破这种局限,同时处理不同类型的数据,或者处理更高层面的数据时需要把若干矩阵作为“元素”整体处理(当然,如果是同样大小的若干矩阵可以采用高一维的矩阵),就需要元胞数组了
做个比喻的话,元胞数组就好比“橱柜”,由若干个“抽屉”构成,每个“抽屉”里可以存放任何“东西”(数据类型,包括矩阵)
这为Matlab 编程提供了极大的方便性和灵活性
注:矩阵的“元素”,叫做元素;元胞数组的“元素”,叫做元胞
元胞数组更准确的叫法,应该叫元胞矩阵
一、 元胞数组的创建 三种方法: 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] [ 1] {1x2 cell } 2
对元胞数组各元胞一一赋值 例如(1)中的元胞数组 a 也可以这样创建: a{1,1} = 'hello'; a{1,2} = [1 2 3; 4 5 6]; a{2,1} = 1; a{2,2} = {'1