Matlab2016.11.1

结构体实例:

>>book.name='Matlab';
>>book.price=200;
>>book.pubtime='2016';
>>book

book = 

       name: 'Matlab'
      price: 200
    pubtime: '2016'
  1. ==Struct==(field1,value1,field2,value2,……,fieldN,valueN) :创建结构体或将其他的数据类型转换成结构体。
>>s = struct('f',{'a','b'})  returns  s(1).f = 'a' and s(2).f = 'b'.
>>book2=struct('name','Matlab','price',23,'pubtime',2015);
>> book2

book2 = 

       name: 'Matlab'
      price: 23
    pubtime: 2015
  1. ==whos==: 用于列出当前工作空间中所有变量,以及它们的名字、尺寸(比如一个矩阵或数组的行列维数)、所占字节数、属性等信息。这些信息都显示在matlab中的workspace窗口中==。==
>> whos
  Name       Size            Bytes  Class     Attributes

  book       1x1               556  struct              
  book2      1x1               556  struct       

3.==数值数组==(field完全相同的structure常常放在一起构成的array),可以用‘[ ]’抽取不同structure的同一字段值,构成单独的numeric array(数值数组)。

>> for i=0:10,...
books(i).name=strcat('book',num2str(i));...
books(i).price=20+i;...
books(i).pubtime='2010';
end;
下标索引必须为正整数类型或逻辑类型。

>> for i=1:10,...
books(i).name=strcat('book',num2str(i));...
books(i).price=20+i;...
books(i).pubtime='2010';
end;
>> books

books = 

1x10 struct array with fields:

    name
    price
    pubtime

>> books(1)

ans = 

       name: 'book1'
      price: 21
    pubtime: '2010'

>> price=[books.price]

price =

    21    22    23    24    25    26    27    28    29    30

4.==fieldname==(s)获得数据结构数组s的字段名。

>> fieldnames(book)

ans = 

    'name'
    'price'
    'pubtime'

5==.getfield==(a,fieldname)相当于ans=a.fieldname;

>> getfield(book,'name')

ans =

Matlab

6.==setfield==(a,fieldname,v)相当于a.filedname=v

>> setfield(book,'name','MATLAB')

ans = 

       name: 'MATLAB'
      price: 200
    pubtime: '2016'

7.==remfield==(a.filesname)删除a中fieldname指定的字段

>> book=rmfield(book,'name')

book = 

      price: 200
    pubtime: '2016'

8.==isfield==(a,fieldname)判断fieldname是否为a的字段,返回1或0。

>> isfield(book,'name')

ans =

     0

9。isstruct(a)判断a是否为结构数组,返回1或0。

>> isstruct(book)

ans =

     1

10.orderfields 按照字典顺序排列字段。

>> book2=orderfields(book)

book2 = 

      price: 200
    pubtime: '2016'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值