几种高级数据结构.ppt_第1页
几种高级数据结构.ppt_第2页
几种高级数据结构.ppt_第3页
几种高级数据结构.ppt_第4页
几种高级数据结构.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 几种高级数据结构 多维数组 异质数组(cell array) 结构数组(struct array) 一、多维数组 1.概念 Matlab中,向量可视为一维数组,矩阵可视为二维数组, 维数2的都称为多维数组. 对于二维数组,我们可以以其行、列位置寻址每一元素 .若有多个二维数组相叠,则可形成所谓的三维数组,第 三维称为“页”,我们以行、列、页寻址三维数组的元 素,可以将二位数组对应至平面x-y二维坐标,三维数组 对应至空间x-y-z三维坐标,若再多出第四维,则称为“ 箱”,由此类推可至n维. 2.建立 ).可以直接输入手工建立 (举例) ).用cat命令建立 其功能为,按某种特定方式合并数个数组,格式 为:z=cat(dim,A,B,C) 其中A 、B 、C为已存在的数组,dim代表合并 方式. ).用rand,zeros等命令直接产生多维数组. (举例) 二、异质数组(Cell Arrays) 它可以存储不同数据类型的数据,其每一 元素可作为一个单元或“抽屉”以存放 各类数据. 1.建立 方法有三种(示范举例) a).Cell Indexing b).Content Indexing c).直接以大括号 将所有内容一次设 定完成. 2.内容显示 异质数组建立后,输入数组名不能直接显 示其内容,而是显示其每一单元的数据类 型.若想显示内容,则应: a).如celldisp(A)命令显示A的内容 b).如A : 显示 3.取用 a).取用某一元素,可用如F=B1,2的 Content Indexing方式; b).若同时取用多个元素,则用H=B(2,:) 的Cell Indexing方式. 4.其他相关命令 预置一个空的数组 Cell(m,n)命令 删除某行或列 命令形式 如:B(1, :)= 改变结构 Reshape()命令 数值数组转换为异质数组 num2cell()命令 举例 举例 三、结构数组(Structure Arrays) 每个结构中可包含数个字段,而每字段包 含的数据类型可以彼此不同. 1.建立 a).可以在命令行中直接输入各字段(示例) 此时,student代表一个结构,我们还可以类 似建立其它相同的结构,可用student(2)表 示,此时student即为一个1*2的结构数组. b).使用struct命令,格式为: a=struct(field1,value1,field2,valu e2) 其中field1为字段名, value1为字 段包含的数据. 举例 注意: 同字段多个字段值同时输入时使用 异质数组。此时,Matlab会将之中每 个元素分别存入该结构数组对应的 字段中. 结构数组可嵌套,即其中可包含另一 个结构数组. 举例 2.数据的取用 )若要察看或修改数组的某一字段,则可 直接输入数组名.字段名(=值)即可. 使用getfield()和setfield()命令也可 。 )若要一次设定(修改)多个字段值可用 deal命令. 举例 举例 3 其他相关命令 数据的合并 ) 运算可以合并结构数组中相同字段的值,其作 用为水平并排合并,因此要求字段值必须行数相同. )使用cat命令,语法为: A=cat(dim,struct_field) 其中dim代表合并方 式. dim为1:上下并排合并 dim为2:左右水平合并 举例 改变结构数组的字段 1)增加新字段: 数组名. 字段名值的方式直接添加即可; 2)删除某字段,应用rmfield()命令,格式为: new=rmfield(数组名,字段名) 举例 取得字段名: 使用fieldnames()可返回结构数组中所有字 段的名称,如: Allfieldnames(a) 4 异质数组与结构数组的转换 异质数组转换为结构数组:(举例) Cell2struct()命令 语法:s=cell2struct(va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论