chMatlab数据结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chMatlab数据结构.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 另一个建立结构数组的方法,则是使用 struct 指令,其格式如下: structureArray = struct(field1, value1, field2, value2,….) 其中 field1、field2、…是字段名称,value1、value2、…则是字段所包含的数据。如果 value1、value2、…为异质数组(Cell Arrays,详见第上一节),则 MATLAB 为依序将异质数组的每个元素设定为每一个结构中相对应的字段值,如以下例3: student = struct(‘name’, {‘张庭硕’, ‘张庭安’}, scores, {[50 60], [60 70]}); student(1) % 显示 student(1) student(2) % 显示 student(2) 例3 : struct03.m 在上述使用法中,{‘张庭硕’, ‘张庭安’} 和 {[50 60], [60 70]} 都是异质数组,因此他们的每个元素会被依次设定到每个结构之中。但是如果其中有一个异值数组的长度是1,那么 MATLAB 会进行「纯量展开」(Scalar Expansion)来自动补足,如以下范例4: clear student = struct(‘name’, ‘张庭安’, scores, {[50 60], [90 100]}); student(1) % 显示 student(1) student(2) % 显示 student(2) 范例4 : struct04.m 在上述范例中,”张庭安”可视为异质数组的一个元素,因此在设定至 student 结构数组时,MATLAB 会进行纯量展开,将”张庭安”分别设定到 student 的两个元素的 name 字段值。 student = struct(name, {张庭硕, 张庭安}, scores, {[50 60], [60 70]}); student(2).course(1).title = Web Programming; student(2).course(1).credits = 2; student(2).course(2).title = Numerical Method; student(2).course(2).credits = 3; student(2).course 结构数组可以是巢状式(Nested)的,也就是说,结构数组的字段可是另一个结构数组,我们可以藉此产生复杂的数据结构 范例5 : struct05.m clear student % 清除 student 变数 student(1) = struct(name, Banny, scores, [85,80,92,78]); student(2) = struct(name, Joey, scores, [80,85,90,88]); student(3) = struct(name, Betty, scores, [88,82,90,80]); 取用及改变结构数组的数据 例6 : buildStruct01.m 上述的 student 结构数组,可图标如下: Student结构数组 Student(1) Student(2) Student(3) .name=‘banny’ .scores=[85,80,92,78] .name=‘joey’ .scores=[80,85,90,88] .name=‘batty’ .scores=[88,82,90,80] 请注意,返回的 values 是一个异质数组。一般而言,若输入 struct2cell 指令的结构变量维数为 m×n,且包含 p 个字段,则返回异质数组的维度为 p×m×n。(在上例中,p = 2,m = 1, n = 3)。 Struct2cell指令 欲取用结构数组中所有元素内所有字段的数据,可用 struct2cell 指令,例如: values = struct2cell(student) 在结构数组中,我们可以使用“句点”(”.”)来找出某一笔数据内的某一个特定字段值,例如我们仅想看看第二个学生是谁,此时我们可以输入: studentName = student(2).name 改变结构数组内容 在上例中,在此一学生结构数组的第二数组元素 student(2) 之后加上一点,再接上姓名字段名称 name,即可取用此学生的实际姓名资料 Joey,本例中进一步再将取出的学生姓名 Joey 储存在使用者自设的变量 studen

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档