版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第五章 几种高级数据结构 多维数组 异质数组(cell array) 结构数组(struct array)一、多维数组一、多维数组1.1.概念概念 MatlabMatlab中中, ,向量可视为一维数组向量可视为一维数组, ,矩阵可视为二维数组矩阵可视为二维数组, ,维数维数22的都称为多维数组的都称为多维数组. . 对于二维数组对于二维数组, ,我们可以以其行、列位置寻址每一元素我们可以以其行、列位置寻址每一元素. .若有多个二维数组相叠若有多个二维数组相叠, ,则可形成所谓的三维数组则可形成所谓的三维数组, ,第第三维称为三维称为“页页”,”,我们以行、列、页寻址三维数组的元我们以行、列、
2、页寻址三维数组的元素素, ,可以将二位数组对应至平面可以将二位数组对应至平面x-yx-y二维坐标二维坐标, ,三维数组三维数组对应至空间对应至空间x-y-zx-y-z三维坐标三维坐标, ,若再多出第四维若再多出第四维, ,则称为则称为“箱箱”,”,由此类推可至由此类推可至n n维维. .2.2.建立建立).可以直接输入手工建立可以直接输入手工建立 (举例)(举例)).用用cat命令建立命令建立 其功能为其功能为,按某种特定方式合并数个数组按某种特定方式合并数个数组,格格式为式为:z=cat(dim,A,B,C) 其中其中A 、B B 、C C为已存在的数组为已存在的数组, ,dimdim代表合
3、并代表合并方式方式. .).用用rand,zeros等命令直接产生多维数组等命令直接产生多维数组.(举例)(举例)二二、异质数组、异质数组( (Cell Arrays)Cell Arrays) 它可以存储不同数据类型的数据它可以存储不同数据类型的数据, ,其每一其每一元素可作为一个单元或元素可作为一个单元或“抽屉抽屉”以存放以存放各类数据各类数据. .1.1.建立建立方法有三种(示范举例)方法有三种(示范举例) a).Cell Indexinga).Cell Indexing b).Content Indexing b).Content Indexing c). c).直接以大括号直接以大括号
4、 将所有内容一次设将所有内容一次设定完成定完成. .2.2.内容显示内容显示 异质数组建立后异质数组建立后, ,输入数组名不能直接显输入数组名不能直接显示其内容示其内容, ,而是显示其每一单元的数据类而是显示其每一单元的数据类型型. .若想显示内容若想显示内容, ,则应则应: : a).a).如如celldisp(A)celldisp(A)命令显示命令显示A A的内容的内容 b).b).如如A A : : 显示显示3.3.取用取用 a).取用某一元素,可用如F=B1,2的Content Indexing方式; b).若同时取用多个元素,则用H=B(2,:)的Cell Indexing方式.4.
5、其他相关命令其他相关命令 预置一个空的数组预置一个空的数组 Cell(m,n)命令命令 删除某行或列删除某行或列 命令形式命令形式 如如:B(1, :)= 改变结构改变结构 Reshape Reshape()()命令命令 数值数组转换为异质数组数值数组转换为异质数组 num2cell num2cell()()命令命令举例举例举例举例三三、结构数组、结构数组( (Structure Structure Arrays)Arrays)每个结构中可包含数个字段每个结构中可包含数个字段, ,而每字段包而每字段包含的数据类型可以彼此不同含的数据类型可以彼此不同. .1.1.建立建立a).a).可以在命令行
6、中直接输入各字段可以在命令行中直接输入各字段(示例)(示例) 此时此时, ,studentstudent代表一个结构代表一个结构, ,我们还可以类我们还可以类似建立其它相同的结构似建立其它相同的结构, ,可用可用student(2)student(2)表表示示, ,此时此时studentstudent即为一个即为一个1 1* *2 2的结构数组的结构数组. .b).b).使用使用structstruct命令命令, ,格式为格式为: : a=struct(field1,value1,field2,valuea=struct(field1,value1,field2,value2)2) 其中其中f
7、ield1field1为字段名为字段名, , value1value1为字为字段包含的数据段包含的数据. .举例举例注意注意: 同字段多个字段值同时输入时使用同字段多个字段值同时输入时使用异质数组。此时异质数组。此时, ,MatlabMatlab会将之中每会将之中每个元素分别存入该结构数组对应的个元素分别存入该结构数组对应的字段中字段中. . 结构数组可嵌套结构数组可嵌套, ,即其中可包含另一即其中可包含另一个结构数组个结构数组. .举例举例2.2.数据的取用数据的取用)若要察看或修改数组的某一字段若要察看或修改数组的某一字段, ,则可则可直接输入数组名直接输入数组名. .字段名字段名(=(=
8、值值) )即可即可. . 使用使用getfield()getfield()和和setfield()setfield()命令也可。命令也可。)若要一次设定若要一次设定( (修改修改) )多个字段值可用多个字段值可用dealdeal命令命令. .举例举例举例举例3 其他相关命令 数据的合并数据的合并) 运算可以合并结构数组中相同字段的值运算可以合并结构数组中相同字段的值, ,其作其作用为水平并排合并用为水平并排合并, ,因此要求字段值必须行数相同因此要求字段值必须行数相同. .)使用使用catcat命令命令, ,语法为语法为: : A=cat(dim,struct_field) A=cat(dim
9、,struct_field) 其中其中dimdim代表合并方代表合并方式式. . dim dim为为1:1:上下并排合并上下并排合并 dim dim为为2:2:左右水平合并左右水平合并 举例举例 改变结构数组的字段改变结构数组的字段 1)增加新字段:)增加新字段: 数组名数组名. 字段名值的方式直接添加即可字段名值的方式直接添加即可; 2)删除某字段)删除某字段,应用应用rmfield()()命令命令,格式为格式为: new=rmfield(数组名数组名,字段名字段名)举例举例 取得字段名:取得字段名:使用fieldnames()可返回结构数组中所有字段的名称,如:Allfieldnames(a)4 异质数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵州铜仁市人民医院招聘合同制人员17人笔试参考题库及答案详解
- 成都中医药大学第三附属医院2026年部分岗位招聘考试模拟试题及答案解析
- 2026年博尔塔拉蒙古市粮食和物资储备系统事业单位人员招聘考试备考试题及答案详解
- 2026年毕节市城管协管人员招聘考试备考试题及答案详解
- 融资租赁公司的资产管理岗位职责
- 2026江苏无锡市住房置业融资担保有限公司招聘1人考试备考试题及答案解析
- 2026江苏南京大学YJ20260522法学院特任助理研究员招聘1人考试备考试题及答案解析
- 2026年大连市广播电视台(融媒体中心)人员招聘考试备考试题及答案详解
- 2026广东警官学院总务部招聘合同制工作人员1人考试备考试题及答案解析
- 2026广西医科大学附属口腔医院招聘医学影像科技师3人考试备考题库及答案解析
- 肥料、农药采购服务投标方案技术标
- 第二类精神药品临床应用管理规范
- 破产管理人培训
- 第四单元第13课羊字头(课件)书法北师大版四年级上册
- 分数加减法-基于教学评一体化的大单元整体教学设计
- 污水排放承诺书
- 2026年生态环境保护法专业知识测试题
- 吞噬星空介绍
- 2026年深圳中考数学基础夯实专项试卷(附答案可下载)
- 市场环境下销售电价建模与实证:理论、影响与优化策略
- 虚开专票课件
评论
0/150
提交评论