matlab-结构体struct

在前面,有用到一个cell2struct()函数,cell是单元数组,而struct就是结构体。
1.建立结构体,在matlab中建立结构体有两种方式,
eg:第一种为直接赋值

>> stu(1).name='zhangsan';
>> stu(1).age=28;
>> stu(1).gender='male';
>> stu(2).name='lisi';
>> stu(2).age=29;
>>stu(2).gender='male';

第二种为用函数struct()
这里写图片描述

2.删除结构体操作rmfield()
s2=rmfield(s1,’color’)%删除s1中的一个字段color
s2=rmfield(s1,{‘color’,‘type’})%删除s1中的2个字段color和type

3.isstruct(s2)-判断是否为结构体

4.isfield(s2,’a’)-判断’a’字段是否属于这个结构体
b=isfield(s,{‘type’,’color’})-同时判断两个字段是否属于结构体,返回值就是两个数。

  1. fieldnames(s)-获取s结构体中的字段名字
    这里写图片描述

6.orderfields(s)-对s结构体中的字段进行排序,按首字母顺序

7.getfield()-取得结构体字段的值

8.setfield()-对结构体的字段赋予新的值

9.struct2cell(s)-将结构体s转换为单元数组

下面代码就是上面函数调用

clear all;
s1=struct('type',{'big','little'},'color',{'red'},'data',{[1 2 3;3 4 5]})
f1= getfield(s1,{1,2},'type')
f2= getfield(s1,{1,1},'type')
s2=setfield(s1,{1,2},'data',[7 7 7])
getfield(s2,{1,2},'data')

结果截图
这里写图片描述
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值