matlab结构体数组定义⽅法
matlab学习-结构体数组定义
当需要定义的参数变量较多时,往往需要⽤到结构体,Matlab中结构体数组与python中字典概念差不多,使⽤⽅法也类似,下⾯详细介绍其定义⽅法。
⽅法⼀:直接定义
直接定义,如定义
// An highlighted block
students.name = 'John';
students.sex = 'Boy';
students
输出结果为 包含以下字段的 struct:
name: 'John'matlab数组赋值
sex: 'Boy'
name对应字典中的key,'John’对应于字典中的value,如若增加结构体维数,可直接定义来增加结构体中变量
students(2).name = 'Amy';
students(2).sex = 'Girl';
students
此时输出结果为包含以下字段的 1×2 struct 数组:
name
sex
若想增加结构体中内容,可直接定义
students(1).province='Beijing';
此时结构体为包含以下字段的 1×2 struct 数组:
name
sex
province
打开结构体变量可看到其具体的值为
‘John’ ‘Boy’ ‘Beijing’
‘Amy’ ‘Girl’ []
对未定义的字段⽤[]表⽰,当然结构体中可包含字符串,向量,矩阵,元组,结构体等。
结构体也可像矩阵⼀样可⾃定义维数,如定义⼀个结构体
students(2,1).name = 'LiMing';
结构体变为2×2 struct 数组.
⽅法⼆:使⽤struct命令
使⽤struct来定义,struct的定义为⼀个key,⼀个value,如struct(‘key1’,val1,‘key2’,val2,…),实例如下:
students = struct('name','John','sex','Boy','province','Beijing');
结果与⽅法⼀中⼀致包含以下字段的 struct:
name: 'John'
sex: 'Boy'
province: 'Beijing'
当需要定义多维结构体时,value⽤元组来表⽰即可,如
students = struct('name',{'John','Amy'},'sex',{'Boy','Girl'},'province',{[],'Beijing'});
注意当有未定义的val时,需⽤[]表⽰,否则会输出同⼀变量,此时输出为包含以下字段的 1×2 struct 数组:
name
sex
province
如需改变结构体的维数,只需改变元组的维数即可,如
students = struct('name',{'John';'Amy'},'sex',{'Boy';'Girl'},'province',{[];'Beijing'});
输出则为包含以下字段的 2×1 struct 数组:
name
sex
province
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论