matlab结构体数组定义方法

matlab学习-结构体数组定义


当需要定义的参数变量较多时,往往需要用到结构体,Matlab中结构体数组与python中字典概念差不多,使用方法也类似,下面详细介绍其定义方法。

方法一:直接定义

直接定义,如定义

// An highlighted block
students.name = 'John';
students.sex = 'Boy';
students

输出结果为 包含以下字段的 struct:

name: 'John'
 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
  • 19
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值