matlab结构数组

来源:互联网 发布:淘宝企业店铺注册资料 编辑:程序博客网 时间:2024/05/17 21:20
有时需要将不同的数据类型组合成一个整体,以便于引用。这些组合在一个整体中
的数据是相互联系的。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等
项都是和该学生有联系的。
下面简单介绍结构体的定义与引用。
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 检查数组是否为结构型
0 0
原创粉丝点击