版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 7.0从入门到精通,主要讲述内容,第1章 MATLAB简介 第2章 数值运算 第3章 单元数组和结构 第4章 字符串 第5章 符号运算 第6章 MATLAB绘图基础 第7章 程序设计 第8章 计算方法的MATLAB实现 第9章 优化设计 第10章 Simulink仿真初探,第3章 单元数组和结构 3.1 单元数组,单元数组就是每一个元素为一个单元的数组。每个单元可以包含任意数据类型的MATLAB7.0数组。例如,单元数组的一个单元可以是一个实数矩阵,或是一个字符串数组,也可以是一个复向量数组。,1、单元数组的生成 直接生成单元数组: 用类似矩阵的记号将给复杂的数据结构纳入一个变量
2、之下。和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。,左标志法:左标志法就是把单元标志放在左边。 c1,1=abc; c1,2=eye(2); c2,1=1 2;3 4; c2,2=1 2; c c = abc 2x2 double 2x2 double 1x2 double,右标志法:右标志法就是把单元标志放在右边。 c(1,1)=abc; c(1,2)=eye(2); c(2,1)=1 2;3 4; c(2,2)=1 2; c c = abc 2x2 double 2x2 double 1x2 double,上面的单元数组也可由下面的方法直接得到: c=abc,eye(2);1
3、2;3 4,1 2 c = abc 2x2 double 2x2 double 1x2 double,要显示单元数组可以直接在命令窗口中输入单元数组的名字,也可以使用函数celldisp(c)来输出;想得到单元数组中某一个单元的值时,可以采用c(m,n)或cm,n的格式输出。但是它们得到的结果表示形式是不同的。 函数celldisp(c)更适用于具有大量数据的单元数组的显示。 cm,n 和celldisp(c)显示的结果形式相同。, c c = abc 2x2 double 2x2 double 1x2 double, celldisp(c) c1,1 = abc c2,1 = 1 2 3 4
4、 c1,2 = 1 0 0 1 c2,2 = 1 2, c(1,1) ans = abc c1,1 ans = abc, c(1,2) ans = 2x2 double c1,2 ans = 1 0 0 1, c(2,1) ans = 2x2 double c2,1 ans = 1 2 3 4, c(2,2) ans = 1x2 double c2,2 ans = 1 2,使用cell函数生成单元数组: cell(n)生成一个n*n阶的置空单元数组; cell(m,n) 或cell(m,n)生成一个m*n阶的置空单元数组; cell(m,n,p,)或cell(m,n,p,)生成一个m*n*p阶
5、的置空单元数组; cell(size(a)生成与a同形式的单元型置空矩阵;, a=cell(2) a = a1,1=1 2;2 2 或a(1,1)=1 2;2 2 a = 2x2 double a1,2=MATLAB7.0 a = 2x2 double MATLAB7.0 , a2,1=peking a = 2x2 double MATLAB7.0 peking a2,2=1 2 a = 2x2 double MATLAB7.0 peking 1x2 double,2、单元数组的操作 celldisp(a)显示单元型变量a的内容; celldisp(a,name)在窗口中显示的单元型变量的内容
6、的名称为name。, a=1 2,1 2 3;2 3,2 3 4; celldisp(a,hh) hh1,1 = 1 2 hh2,1 = 2 3 hh1,2 = 1 2 3 hh2,2 = 2 3 4,h=cellplot(c)返回一个向量,这个向量综合体现了表面、线和句柄。 h=cellplot(c,legend)返回一个向量,这个向量综合体现了表面、线和句柄,并有图形注释。, a=1 2;2 2,MATLAB7.0;peking,1 2; h=cellplot(a) h = 152.0029 153.0024 154.0024 155.0024 156.0024 157.0024 158.
7、0024, a=1 2;2 2,MATLAB7.0;peking,1 2; h=cellplot(a,legend) h = 152.0035 153.0026 154.0026 155.0026 156.0026 157.0026 158.0026,使用c=a,b将两个单元数组集成一个更大的数组。 使用c(n,:)=删除单元数组的第n行。 reshape(x,m,n)和reshape(x,m,n)将单元数组x的所有元素分配到一个m*n的单元数组,但单元数组元素不是m*n时,返回错误信息。行列数不相等的话,仍是按列优先的原则。,3.2 结构型变量,结构体是根据属性名组织起来的不同类型数据的集合
8、。结构体和单元数组的共同之处在于它们都提供了一种分级存储机制来存储不同类型的数据,不同之处是组织数据的方式不一样。结构体数组里的数据是通过属性名来引用的,而在单元数组里,数据是通过单元数组下标引用来操作的。,1、结构型变量的生成 直接输入法:采用直接输入法时,在给结构体成员元素直接赋值的同时定义该元素的名称,并使用点儿将结构型变量和成员元素名连接。, student.test=99 56 96 87 67 69 87 76 92; =Huang Liang; student.weight=67; student.height=1.68; student.num=0340
9、93; student.add=School of civil engneering.Tsinghua university; student.tel=;,输入student会出现: student student = test: 99 56 96 87 67 69 87 76 92 name: Huang Liang weight: 67 height: 1.6800 num: 34093 add: School of civil engneering.Tsinghua university tel: ,可以通过以下形式语句添加新的结构变量(另外的学生数据)。 student(2).test
10、=99 65 88 78 76 98 75 96 59; %系统将默认之前的student为student(1) student(2).name=Wei Huan; student(2).weight=50; student(2).height=1.58; studen(2)t.num=034999; student(2).num=034999; student(2).add=School of Psychology.Chongqing university; student(2).tel=;,此时,输入student将只得到该结构的成员变量名而不显示内容 student student =
11、1x2 struct array with fields: test name weight height num add tel,可以继续在窗口中输入student(1)和student(2)来查询其具体内容。 student(2) ans = test: 99 65 88 78 76 98 75 96 59 name: Wei Huan weight: 50 height: 1.5800 num: 34999 add: School of Psychology.Chongqing university tel: ,使用struct函数生成结构变量 Struct_array=struct(f
12、ield,v1,field2,v2,),其中,field为各成员变量名,v1等为对应的各成员变量的内容,但是必须配对出现。 student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800) student = test: 99 65 88 78 76 98 75 96 59 name: Wei Huan weight: 50 height: 1.5800,student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,
13、50,height) ? Error using = struct Field and value input arguments must come in pairs., student=struct(fen,86,gao,176) student = fen: 86 gao: 176 student(2)=struct(fen,90,gao,170) student = 1x2 struct array with fields: fen gao,2、结构变量的操作 在结构体变量中添加成员变量 student(1).gender=Male; student(1).age=25; studen
14、t(2).gender=Female; student(2).age=21;,在结构体变量中删除成员变量 s=rmfield(s,field)从m*n阶的结构体变量s中删除指定的成员变量field。但该函数仍保留原有结构形式。 s=rmfield(s,fields)当fields是字符型变量或单元型变量时,将一次性删除多个成员变量。, s=rmfield(student,name) s = test: 99 56 96 87 67 69 87 76 92 weight: 67 height: 1.6800 num: 34093 add: School of civil engneering.T
15、singhua university tel: , s=rmfield(student,weight,test) s = name: Huang Liang height: 1.6800 num: 34093 add: School of civil engneering.Tsinghua university tel: ,在结构体变量中调用成员变量 结构变量中的任何信息,可以通过“结构体名称+成员变量名”的格式进行取出。 student(1).test 需要注意不能同时从多个结构体变量中取出某个成员变量。 例如:student.test是错误的。 如果用户要调用所有学生的名字,需使用循环语句
16、。, for i=1:length(student) disp(student(i).name); end Huang Liang Wei Huan getfield函数取得当前存储在某个成员变量中的值。表达式f=getfild(s,field)返回指定成员变量的内容,与表达式f=s.field等价。 setfield函数给某个成员变量插入新的值。表达式s=setfield(s,field,v)将成员变量field的值设置为v与表达式s.field=v等价。, c=getfield(student,name) c = Wei Huan c=setfield(student,name,Tom)
17、c = test: 99 65 88 78 76 98 75 96 59 name: Tom weight: 50 height: 1.5800,names=fieldnames(s)返回结构体s中的成员变量名称。 isfield(s,field)判断field是否是结构体s中的成员变量名称,是输出1,不是输出0 。 isstruct(s)判断s是否是结构体数组,是输出1,不是输出0 。, student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800); names=fieldnames(student) names = test name weight height, student=struct(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 39261-2020纳米技术 纳米材料毒理学评价前理化性质表征指南》(2026年)深度解析
- 深度解析(2026)《GBT 39236-2020能效融资项目分类和评估指南》
- 期末真题重组卷01(北京专用)-统编版七年级《语文》上学期期末复习讲义
- 深度解析(2026)《GBT 34367-2017轻型输送带 松弛弹性模量的测定 》
- 深度解析(2026)《GBT 34201-2017结构用方形和矩形热轧无缝钢管》
- 2026年七年级历史上册期末考试试卷及答案(五)
- 广州期货交易所科技有限公司2025-2026年招聘备考题库及答案详解一套
- 2026年富宁县紧密型医共体花甲分院招聘编外专业技术人员的备考题库及参考答案详解
- 2026年丹东市疾病预防控制中心(丹东市卫生监督所)面向普通高校公开招聘急需紧缺人才备考题库及答案详解参考
- 2026年东莞市高埗镇东联小学招聘临聘教师备考题库及完整答案详解1套
- 花青素行业研究报告
- 【化 学】金属活动性顺序的验证与探究专项训练-2024-2025学年九年级化学人教版(2024)下册
- 2023特斯拉企业文化手册
- 新疆克拉玛依市(2024年-2025年小学六年级语文)统编版期末考试(上学期)试卷及答案
- 防火门新标准知识培训
- 2024年WPS计算机二级考试题库350题(含答案)
- 《文创产品策划运营人员要求》征求意见稿
- 国家开放大学《合同法》章节测试参考答案
- 皮肤管理师行业现状分析
- 肩关节镜手术的麻醉管理
- 《干部履历表》1999版电子版
评论
0/150
提交评论