有时需要将不同的数据类型组合成一个整体,以便于引用。这些组合在一个整体中 的数据是相互联系的。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等 项都是和该学生有联系的。 下面简单介绍结构体的定义与引用。 i)结构数组的定义 定义结构数组可以采用两种方法:用赋值语句定义和用函数struct 定义。 用赋值语句定义结构时,只要给出结构的属性赋值,Matlab 就会自动把该属性增 加到结构中,赋值时,结构名和属性名用“.”分开。例如,下面三条语句将定义一个1×1 的结构数组,结构名为student,有三个属性:name、num、test。该结构数组只有一 个元素,在命令窗口中键入结构名student,将显示该元素所有属性的属性值的特性。 student.name='John Doe'; student.num=123456; student.test=[79 75 73;80 78 79;90 85 80]; 再键入以下三行可给该结构数组增加一个元素。 student(2).name='Ann Lane'; student(2).num=123422; student(2).test=[70 76 73;80 99 79;90 85 80;80 85 86]; 现在结构数组 student的维数为1× 2。当结构数组的元素超过 1 个时,MATLAB 的 帮助信息中,不再显示不同属性的值,而只显示数组名、属性名和维数大小。 函数struct 也可用来定义结构数组,其调用格式为: 结构数组名=struct(‘属性1’,’属性值1’, ‘属性2’,’属性值2’,…) ii)结构数组属性值的修改、设置和获取 结构数组一旦形成,就可取出数组中的某个元素并修改该元素的某个属性的值。以 上面建立的student 数组为例,命令 str=student(2).name 可取出第二个元素的name 属性的值。 命令 n=student(2).test(4,2) 取出第二个元素test 的值中第四行第二列上的数。 同理,可用命令 student(2).test(4,2)=0 修改第二个元素test 的值中第四行第二列上的数的值。 关于结构数组有如下函数: 函数名 作用 struct 生成和转换为结构数组 fieldnames 查询结构数组的属性名 getfield 查询结构数组的属性值 setfield 设置结构数组的属性值 rmfield 删除属性 -295- isfield 检查是否为数组的属性 isstruct 检查数组是否为结构型
matlab结构数组22,matlab结构数组
最新推荐文章于 2022-04-18 15:29:26 发布