结构数组和细胞数组.ppt
文本预览下载声明
结构数组和细胞数组 1.2 结构数组的操作 (8)结构数组及其域的判定 (1)tf=isstruct(A) (2)isfield(struct_name, field_name) 格式(1)判断A是否为结构数组,是tf=1,否tf=0; 格式(2)判断指定的域名field_name是否为结构数组struct_name的域,是tf=1,否tf=0。 1.2 结构数组的操作 例17 对例4所创建的student结构数组进行判定操作 1.2 结构数组的操作 例17 对例4所创建的student结构数组进行判定操作 2 细胞数组 特点 细胞数组(cell array)与结构数组类似,也是把一组类型、维数不同的数据组织在一起,存储在细胞数组中,与结构数组不同的是,结构数组中的元素有域及域名,对数组元素数据的访问是通过域名实现的。 细胞数组的基本元素是细胞(cell),每个细胞可以存储不同类型、不同维数的数据,通过下标区分不同的细胞。 2.1 细胞数组的创建 (1)通过赋值创建细胞数组 cell_name{i,j}={value} 例18.通过赋值创建图2所示的细胞数组 2.1 细胞数组的创建 (1)通过赋值创建细胞数组 2.1 细胞数组的创建 (1)通过赋值创建细胞数组 注意(1)花括号和圆括号在使用上的细微区别,花括号表示细胞元素的内容;圆括号表示细胞元素。在建立细胞数组时,是通过给细胞元素赋值来确定细胞元素的。 2.1 细胞数组的创建 (1)通过赋值创建细胞数组 (2)student{1,2}、student{2,1}、student{2,2}和student(1,2)、student(2,1)、student(2,2)赋值使用了细胞数组的嵌套,即这些细胞元素本身就是细胞数组。 (3) student{1,1}与student{2,1}细胞元素值同样为字符串,但student{1,1} 每个字符串长度相同,所以可以以字符型数组存储;而student{2,1} 各字符串的长度不同,所以改为字符型细胞数组存储。 2.1 细胞数组的创建 (1)通过赋值创建细胞数组 (4)细胞数组结构图可以通过cellplot绘出。 2.1 细胞数组的创建 (2)利用函数cell创建细胞数组 (1)cell_name=cell(n) 创建一个n×n的空细胞数组 (2)cell_name=cell(m,n)或cell_name=cell([m n]) 创建一个m×n的空细胞数组 (3)cell_name=cell(m,n,p,…)或cell_name=cell([m n p …]) 创建一个m×n×p×…的空细胞数组 (4)cell_name=cell(size(A)) 创建一个与A维数相同的空细胞数组 2.2 细胞数组的操作 将普通数组转换成细胞数组 mat2cell 将细胞数组转换成普通数组 cell2mat 将数值数组转换成细胞数组 num2cell 将结构数组转换成细胞数组 struct2cell 将细胞数组转换成结构数组 cell2struct 将字符型细胞数组转换成字符型数组 char 将字符型数组转换成字符型细胞数组 cellstr 判断是否为字符型细胞数组 iscellstr 判断是否为细胞数组 iscell 显示细胞数组所有元素的内容 celldisp 说明 函数名 2.2 细胞数组的操作 (1)细胞数组的扩充与重组——与数值数组方法类似 例19.对例18创建的细胞数组student增加一个细胞元素(3,1),其值为’total’ 2.2 细胞数组的操作 例20.将例19创建的细胞数组student变成2×3的细胞数组 2.2 细胞数组的操作 例21.对例18创建的细胞数组student进行下列操作 2.2 细胞数组的操作 (2)细胞元素的改写和删除 细胞元素内容的改写只需重新赋值,删除只需赋以空值即可(用花括号),但不改变细胞元素的个数。要删除细胞元素,则需整行或整列删除(用圆括号)。 2.2 细胞数组的操作 例22. 对例21得到的细胞数组student,先删除细胞元素(1,3)的内容,然后删除第3列的细胞元素。 2.2 细胞数组的操作 例23. 对例18创建的细胞数组student,将细胞元素(2,1)的值改写为{‘刘志家’,’王燕玲’}。 2.2 细胞数组的操作 (3)细胞数组的数据显示 celldisp(cell_name) 2.2 细胞数组的操作 (3)细胞数组的数据显示 celldisp(cell_name) 2.2 细胞数组的操作 (4)细胞数组的访问 (1)细胞元素的访问 cell_name(i,
显示全部