《MATLAB8.X程序设计及典型应用第二章.ppt

《MATLAB8.X程序设计及典型应用第二章.ppt

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

(1)使用赋值语句直接创建使用赋值语句创建构架数组是最直接也是最简单的创建方法。例【2-39】使用赋值语句创建构架数组并获取示例。a(1).name=lixiaolei;a(1).weight=52kg;a(1).sex=woman%建立构架数组aa=name:lixiaoleiweight:52kgsex:woman2.4.1构架数组的创建构架数组的创建有三种方法:赋值语句直接创建、创建函数struct()创建和转换函数cell2struct()创建。a(2).name=wanglei;a(2).weight=60kg;a(2).sex=man%构架数组的第二个元素可以被通过增加下标实现a=1x2structarraywithfields:nameweightsex用户也可以通过通过工作空间浏览器直接查看已建立的构架数组内容。2.4.1构架数组的创建函数struct()创建构架数组是最常用的创建方法,其格式如下:?S=struct(fieldl,VALUES1,field2,VALUES2,...)?创建构架数组S,其中值VALUES1赋给域field1,值VALUES2赋给域field2。(2)利用函数struct()创建【例2-40】利用函数struct()创建例2-39中的构架数组。

a(1)=struct(name,lixiaolei,weight,52kg,sex,woman);

a(2)=struct(name,wanglei,weight,60kg,sex,man)

a=

1x2structarraywithfields:

name

weight

sex构架数组除了可以通过直接赋值和创建函数创建外,用户还可以通过元胞数组转换得到。转换函数cell2struct()的格式如下:

?S=ce112struct(C,FIELDS,DIM)

?元胞数组C转换为构架数组S。其中FIELDS为字符串数组或元胞数组,DIM为

元胞数组的维数。【例2-41】转换函数cell2struct()创建例2-40的构架数组实例。clear,a={lixiaolei,52kg,woman};b={name,weight,sex};%创建元胞数组s=cell2struct(a,b,2)%将元胞数组转换为构架数组(3)利用转换函数cell2struct()创建s=

name:lixiaolei

weight:52kg

sex:woman1获取域名构架数组的域是根据用户的需要创建的。构架数组创建后,用户可通过函数fieldnames()获取构架数组的域,格式为:?NAMES=fieldnames(S)?返回构架数组S的域名构成的元胞数组NAMES。【例2-42】(续例2-40)获取域名函数fieldnames()使用实例。NAMES=fieldnames(a)NAMES=nameweightsex2.4.2域的增加和删除【例2-43】(续例2-40)在已有构架数组a上,增加课程成绩域exams(三门功课),并删除a的域sex。a(1).exams=[908674];%通过赋值语句增加域exama(1)%查看a(1)各个域的域值ans=name:lixiaoleiweight:52kgsex:womanexams:[908674]2增加和删除域构架数组建立后,允许用户增加和删除域。用户可以通过赋值语句实现域的增加。域的删除通过执行函数rmfield()来实现。函数rmfield()格式为:?S=rmfield(S,field)?从构架数组S中删除域field。a(2)%查看a(2)各个域的域值

ans=

name:wanglei

weight:60kg

sex:man

exms:[]

aa=rmfield(a,sex)%删除构架数组a的域sex

aa=

1x2structarraywithfields:

name

weight

exams2增加和删除域域值除可以在引用构架数织的元索时获得,MATLAB中还提供了两个一与域值有关的函数getfield()和setfield()

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档