matlab架构,Matlab基础学习------架构数组

Matlab架构数组类似于C语言中的结构体。

架构数组的创建:1,直接对域赋值产生“单架构”;2,使用struct()进行创建。

>> %创建架构数组

>> user(1).name='张三';

user(1).address='大连';

user(1).age=23;

>> user(2).age=23;

user(2).address='大连1';

user(2).name='张三2';

>> user

user =

1x2 struct array with fields:

name

address

age

>> user(1)

ans =

name: '张三'

address: '大连'

age: 23

>> user(2)

ans =

name: '张三2'

address: '大连1'

age: 23

>> user(5)=struct('name','李四','address','沈阳','age',33)%使用struct创建架构数组

user =

1x5 struct array with fields:

name

address

age

>> user(5)

ans =

name: '李四'

address: '沈阳'

age: 33

架构数组域的基本操作:

访问域的内容:1,可以直接用 . 进行操作;2,用getfield()函数

>> name1=getfield(user,'name') %array_index没指定时默认为第一个

name1 =

张三

>> add2=getfield(user,{2},'address') %访问第二个的address

add2 =

大连1

>> user(3).address='山东省泰安市'     %修改值,方便操作

user =

1x5 struct array with fields:

name

address

age

>> partaddress=getfield(user,{3},'address',{1:4})  %访问address域中第三个值的前四个字符

partaddress =

山东省泰

>> getfield(user,{3})  %访问第三个

ans =

name: '张三3'

address: '山东省泰安市'

age: 23

%增加域:

>> user(3).school='北京大学'

user =

1x5 struct array with fields:

name

address

age

school

>> user(3)

ans =

name: '张三3'

address: '山东省泰安市'

age: 23

school: '北京大学'

>> user(2)

ans =

name: '张三2'

address: '大连1'

age: 23

school: []

%删除架构数组中的域

>> newuser=rmfield(user,'age')  %删除架构数组中的域,将新的架构数组赋值给newuser,原架构数组不发生变化

newuser =

1x5 struct array with fields:

name

address

school

>> newuser(3)

ans =

name: '张三3'

address: '山东省泰安市'

school: '北京大学'

>> user(3)

ans =

name: '张三3'

address: '山东省泰安市'

age: 23

school: '北京大学'

架构数组操作函数:

>> fieldnames(user) %以字符串的形式返回架构数组中的所有域名

ans =

'name'

'address'

'age'

'school'

>> isstruct(user) %判断某变量是否是架构数组,是返回1,不是返回0

ans =

1

>> isfield(user,'name') %判断架构数组中是否存在某域名

ans =

1

>> isfield(user,'name1111') %判断架构数组中是否存在某域名

ans =

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值