




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 字符串数组和结构数组3.1 字符串数组3.1.1 字符串入门【例3.1-1】数值量与字符串的区别。cleara=12345.6789class(a)%对变量a的类别进行判断a_s=size(a) a = 1.2346e+004ans =doublea_s = 1 1 b=S class(b)%对变量a的类别进行判断b_s=size(b) b =Sans =charb_s = 1 1 whos Name Size Bytes Class a 1x1 8 double array a_s 1x2 16 double array ans 1x4 8 char array b 1x1 2 char array b_s 1x2 16 double arrayGrand total is 10 elements using 50 bytes 3.1.2 串数组的属性和标识【例3.1-2】串的基本属性、标识和简单操作。(1)创建串数组a=This is an example. a =This is an example. (2)串数组的大小size(a) ans =1 19 (3)串数组的元素标识a14=a(1:4)ra=a(end:-1:1) a14 =Thisra =.elpmaxe na si sihT (4)串数组的ASCII码用指令abs, double 把串数组转化成ASCII码,char()则把ASCII码转换成串说组ascii_a=double(a) ascii_a = Columns 1 through 12 84 104 105 115 32 105 115 32 97 110 32 101 Columns 13 through 19 120 97 109 112 108 101 46 ascii_a2=abs(a) ascii_a2 = 84 104 105 115 32 105 115 32 97 110 32 101 120 97 109 112 108 101 46 ascii_a3=char(a) ascii_a3 =This is an example. char(ascii_a) ans =This is an example. (5)对字符串ASCII码的操作w=find(a=a&a=z); %找出串数组a中小写字母的位置ascii_a(w)=ascii_a(w)-32;%大小写字母ASCII码值差32,用数值加法改变部分码值char(ascii_a) %把新的ASCII码翻译成字符 ans =THIS IS AN EXAMPLE. (6)中文字符串数组 A=这是一个算例。;A_s=size(A)A56=A(5 6)ASCII_A=double(A) A_s = 1 7A56 =算例ASCII_A = Columns 1 through 6 54754 51911 53947 47350 52195 49405 Column 7 41379 char(ASCII_A) ans =这是一个算例。 (7)创建带单引号的字符串b=Example 3.1.2-1 b =Example 3.1.2-1 ab=a(1:7), ,b, . ab =This is Example 3.1.2-1 . 3.1.3 复杂串数组的创建 一 多行串数组的直接创建【例3.1-3】多行串数组的直接输入示例。clearS=This string array has multiple rows. S =This string array has multiple rows. size(S) ans = 2 18 二 利用串操作函数创建多行串数组【例3.1-4】用专门函数char , str2mat , strvcat创建多行串数组示例。S1=char(This string array,has two rows.) S1 =This string arrayhas two rows. S2=str2mat(这,字符,串数组,由4行组成) S2 =这 字符 串数组 由4行组成 S3=strvcat(这,字符,串数组, ,由4行组成) S3 =这 字符 串数组 由4行组成 size(S3) ans = 5 5 三 转换函数产生数码字符串【例3.1-5】最常用的数组/字符串转换函数int2str , num2str , mat2str 示例。A=eye(2,4); %生成一个(2*4)数值数组A_str1=int2str(A) % 转换成串数组A_str1 =1 0 0 00 1 0 0 B=rand(2,4); %生成数值矩阵B3=num2str(B,3) % 保持3位有效数字B3 = 0.95 0.607 0.891 0.4560.231 0.486 0.762 0.0185 B_str=mat2str(B,4) % 保持4位有效数字,转化为数组输入形式B_str =0.9501 0.6068 0.8913 0.4565;0.2311 0.486 0.7621 0.0185 【例3.1-6】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。clear %清除内存得所有变量a=2;w=3;t=0:0.01:10; %取自变量采样数y=exp(-a*t).*sin(w*t); % 计算函数值,产生函数数组y_max,i_max=max(y); % 找出最大元素位置t_text=t=,num2str(t(i_max); %生成最大值点的横坐标字符串y_text=y=,num2str(y_max); %生成最大值点的坐标字符串max_text=char(maximum,t_text,y_text); %生成最大值点的横坐标字符串tit=y=exp(-,num2str(a),t)*sin(,num2str(w),t);%生成表示图名得字符串plot(t,zeros(size(t),k) %画纵坐标为0的基准线hold on %保持绘制的线不被清除plot(t,y,b) %用兰色画y(t)曲线plot(t(i_max),y_max,r.,MarkerSize,20) % 用大红点标最大值text(t(i_max)+0.3,y_max+0.05,max_text) %在图上书写最大值点的数据值title(tit),xlabel(t),ylabel(y),hold off %书写图名、横坐标和纵坐标图 3.1-1 字符串运用示意图3.2 结构数组3.2.1 结构数组的直接创建法及显示【例3.2-1】本例通过温室数据(包括温室名、容积、温度、湿度等)演示:单结构的创建和显示。green_=一号房;green_house.volume=2000立方米;green_house.parameter.temperature=31.2 30.4 31.6 28.7 29.7 31.1 30.9 29.6;green_house.parameter.humidity=62.1 59.5 57.7 61.5 62.0 61.9 59.2 57.5; green_house %显示结构体的内容green_house = name: 一号房 volume: 2000立方米parameter: 1x1 struct green_house.parameter ans = temperature: 2x4 double humidity: 2x4 double green_house.parameter.temperature ans = 31.2000 30.4000 31.6000 28.7000 29.7000 31.1000 30.9000 29.6000 【例3.2-2】建立学生档案结构体,包含下列信息:l 编号(用number 表示,在结构体下number又称为结构体的成员变量或结构体的域),数值型l 姓名(name),字符型l 身高(height): 数值型l 考试成绩(test):矩阵,其第i行为第i次考试成绩,而第j列为第j门考试成绩。student_rec.number=1student_=张三student_rec.height=180student_rec.test=100 80 75; 77 60 9267 28 90; 100 89 78 student_rec = number: 1student_rec = number: 1 name: 张三student_rec = number: 1 name: 张三 height: 180student_rec = number: 1 name: 张三 height: 180 test: 4x3 double 下面的指令建立一组100个学生(假设2个年级,每个年级50人)的新的结构体变量BB(50,2)=struct(student_rec) %构造502结构体 B = 50x2 struct array with fields: number name height test B = 50x2 struct array with fields: number name heighttest如果想给B变量加一个成员变量体重(weight),则可以将结构体中任一个变量后面加weight成员变量即可,如:B(1,10).weight=90 %添加成员变量 weightB = 50x10 struct array with fields: number name height testweight如果想消除结构体变量中的任何一个成员变量,则可用指令rmfield()函数来完成。如:B= rmfield(B,weight) %删除成员变量weightB = 50x10 struct array with fields: number name height test3.3 单元(cell)结构MATLAB从5。0版起引入了一种新的数据结构单元(cell)结构,该结构把不同属性的数据都纳入到一个变量之下,这个变量就称为单元。例3.3-1】建立学生档案单元B,包含下列信息:l 编号l 姓名l 身高l 考试成绩。B=1, zhan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国农业科学院西部农业研究中心(科技援疆指挥部)招聘合同制工作人员备考考试试题及答案解析
- 2025年河北辛集市事业单位(河北辛集经济开发区管委会)公开招聘化工专业人才5人考试模拟试题及答案解析
- 2025浙江宁波慈溪市天元初级中学招聘派遣制工作人员2人考试模拟试题及答案解析
- 2025年宜宾珙县事业单位第二次公开选调工作人员5人考试模拟试题及答案解析
- 2025湖北湖泊与流域水安全全国重点实验室副主任全球招聘考试参考题库及答案解析
- 2025河北衡水高新科技集团有限公司招聘人员19人考试参考题库及答案解析
- 2025年河北石家庄裕华区人高校毕业生临时公益性岗位招聘考试参考题库及答案解析
- 2025杭州临安工业产业发展有限公司下属国企招聘工作人员8人考试参考题库及答案解析
- 2025四川绵阳市盐亭县医疗卫生辅助岗招募20人备考模拟试题及答案解析
- 2025年河北唐山曹妃甸区招聘社区工作者183人考试模拟试题及答案解析
- 2025年乡村振兴应知应会考试题及答案
- 建筑工程岗位招聘笔试题与参考答案(某大型国企)2025年
- 第21章 二次根式 单元测试卷(含答案)-2025-2026学年数学华东师大版九年级上册
- 2025-2030中国废旧汽车拆解材料分类利用与循环经济园区建设报告
- 2025-2026学年教科版(2024)小学科学二年级上册(全册)每课教学反思
- 2025-2026学年人教鄂教版(2024)小学科学三年级上册(全册)教学设计(附目录P137)
- 2025版金融业务合同委托管理协议
- 部队手榴弹使用课件
- 2025江苏南京市麒麟科创园所属企业部分招聘8人备考试题及答案解析
- 社区网格员考试试题(含答案)
- 2025年宜都市总工会公开招聘乡镇工会协理员3人考试参考题库附答案解析
评论
0/150
提交评论