MATLAB字符串、单元数组和结构.ppt_第1页
MATLAB字符串、单元数组和结构.ppt_第2页
MATLAB字符串、单元数组和结构.ppt_第3页
MATLAB字符串、单元数组和结构.ppt_第4页
MATLAB字符串、单元数组和结构.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

字符串、单元数组和结构 教学目标 教学重点 教学过程 Date 1第5章 字符串、单元数组和结构 教学目标 将介绍三种特殊的数据类型,即字符 串、单元数组和结构。 使用这三种数据类型,相关的数据可 以通过一个单元数组或是结构进行组 织和访问,数据的管理就变得要容易 一些。 Date 2第5章 字符串、单元数组和结构 教学重点 字符串的设定和操作 单元数组的操作 结构型变量的操作 Date 3第5章 字符串、单元数组和结构 教学过程 字符串的设定 字符串的各种操作 单元数组的生成方法 单元数组的操作 结构型变量的生成方法 结构型变量的操作 Date 4第5章 字符串、单元数组和结构 1. 字符串的设定 在MATLAB 7中的字 符串一般是ASCII值 的数值数组,它作为 字符串表达式进行显 示。MATLAB 7对字 符串的设定非常简单 ,只需用单引号()将 需设定的字符串引注 即可。 str=I have many good friends! str = I have many good friends! whos Name Size Bytes Class EXPLODE 1x5 40 double array F1 1x12 24 char array F2 1x12 24 char array Date 5第5章 字符串、单元数组和结构 2. 字符串的操作 字符串元素的读取 字符串的基本变换 字符串的运算 Date 6第5章 字符串、单元数组和结构 (1)字符串元素的读取 字符串元素的读取 利用数组操作工具进 行读取 使用disp函数显示字 符串 str=今天,是2005年10 月25日, 我们班一起去上 海旅游。 str = 今天,是2005年10月25日 , 我们班一起去上海旅游 。 str(6) ans = 0 Date 7第5章 字符串、单元数组和结构 (2)字符串的基本变换 基本变换的种类 字符串的ASCII码操作 使用char函数进行逆变 换 字符串的执行 for n = 2:3 eval(M num2str(n) = magic(n) %用eval函数来执行字符串。 end M2 = 1 3 4 2 M3 = 8 1 6 3 5 7 4 9 2 Date 8第5章 字符串、单元数组和结构 常见字符串的操作 函 数 名函 数 用 途函 数 名函 数 用 途 strcat链接字符串strvcat垂直链接字符串 strcmp比较字符串大小strncmp比较字符串的前n个字符 findstr在其他的字符串中寻找该字符 串 strjust证明字符数组 strmatch查找可能匹配的字符串strrep用其他字符串代替改串 strtok查找字符串中的记号blanks生成空的字符串 deblank删除字符串内的空格ischar字符串检验 iscellstr字符串的单元检验isletter字母检验 isspace空格检验stringsstrings函数的帮助 Date 9第5章 字符串、单元数组和结构 (3)字符串的运算 字符串的运算主要是指判断字符串是 否相等,通过字符的运算来比较字符 ,字符串中字符的分类、查找与替换 、字符串与数值的转换和数组与字符 串的转换等。 Date 10第5章 字符串、单元数组和结构 判断字符串是否相等 有两个函数可以用来 判断两个输入的字符 串是否相等。 strcmp函数:比较两个 字符串是否相等,当相 等时,系统将返回值1 ,不相等时,返回值0 ; strncmp函数:比较两 个输入字符串的前几个 字符是否相等,当相等 时,系统将返回值1, 不相等时,返回值0。 words1=人民文学; words2=人民的同志; N=strcmp(words1,words2) N = 0 Y=strncmp(words1,words2,3) Y = 0 x=strncmp(words1,words2,1) x = 1 Date 11第5章 字符串、单元数组和结构 通过字符的运算比较字符 运算符号的意义 符 号 形 式符 号 意 义英 文 简 写 =等于eq = 不等于ne 大于gt =大于或等于ge Date 12第5章 字符串、单元数组和结构 字符串中字符的分类 字符串中的字符通 常可以分为空白字 符、字母字符和其 他类型的字符。用 户可以用isletter和 isspace两个函数 来对字符串中的字 符进行分类 。 realstring= realstring = A=isspace(realstring) A = Columns 1 through 11 0 0 0 0 0 0 0 0 0 0 0 Columns 12 through 16 0 0 0 1 1 Date 13第5章 字符串、单元数组和结构 . 查找与替换 查找与替换是字符 串操作中的一项重 要内容,MATLAB 7语言提供了findstr 、strfind和strrep等 函数来实现查找与 替换操作。 s1=我们班的班长是是赵洁 !; s2=strrep(s1,赵洁,黄远) s2 = 我们班的班长是是黄远! s3=strrep(s2,黄远! ,谁?) s3 = 我们班的班长是是谁? Date 14第5章 字符串、单元数组和结构 字符串与数值的转换 常见的字符串转换函数 函 数功 能函 数功 能 hex2dec将16进制字符串转化为10进制整 数 dec2hex将10进制整数转化为16进制字符串 bin2dec将2进制字符串转化为10进制整数dec2bin将10进制整数转化为2进制字符串 base2dec转化B底字符串为10进制整数hex2num将16进制字符转化为双精度数 upper改该字符串为大写lower改该字符串为小写 fprintf把格式化的文本写到文件中或显示 屏上 sprintf用格式控制,数字转换 成字符串 sscanf用格式控制,字符串转换 成数字charASCII码转换 成字符串 num2str数字转换 成字符串int2str整数转换 成字符串 Date 15第5章 字符串、单元数组和结构 字符串与数值的转换举例 使用str2num函数将字符型矩阵转换为 数字矩阵 S = 1 2 ;3 4 S = % S为字符型矩阵 1 2 3 4 X=str2num(S) X = %X为数字型矩阵 1 2 3 4 Date 16第5章 字符串、单元数组和结构 2. 单 元 数 组 直接生成单元数组 使用cell函数生成单元数组 单元数组的内容的显示或获取 单元数组的变维处理 Date 17第5章 字符串、单元数组和结构 单元数组就是每个元素为一个单元的 数组。每个单元都可以包含任意数据 类型的MATLAB数组。 Date 18第5章 字符串、单元数组和结构 (1)直接生成单元数组 用类似矩阵的记号将给复杂的数据结构纳 入一个变量之下。和矩阵中的圆括号表示 下标类似,单元数组由大括号表示下标。 A=反对霸权,Wind Gone,100+200*i,90, 85, 55; 67, 70, 102; 57, 18, 100; -200, 89, 78 A = Columns 1 through 3 反对霸权 Wind Gone 1.0000e+002 +2.0000e+002i Column 4 4x3 double Date 19第5章 字符串、单元数组和结构 (2)使用cell函数生成单元数组 应用举例: A=cell(2,2) A = A1,1=富强 民主 ;文明 廉洁 A = 2x4 char Date 20第5章 字符串、单元数组和结构 (3)单元数组的内容的显示或获取 celldisp(A,Huang) Huang1,1 = 1 2 2 2 Huang2,1 = Tsinghua and Peking Huang1,2 = MATLAB 7 Huang2,2 = 1.0000 + 5.0000i 12.0000 - 4.0000i Date 21第5章 字符串、单元数组和结构 (4)单元数组的变维处理 前边所述的对矩阵 的变维处理同样也 适用于对单元数组 的变维处理 。 此外还可以使用 reshape函数进行操 作。 A=1 2 ;3 4,love;呼唤和平 ,90, 85, 55; 67, 70, 102; 57, 18, 100; -200, 89, 78 A = 2x2 double love 呼唤和平 4x3 double a=reshape(A,1,4) a = 2x2 double 呼唤和平 love 4x3 double Date 22第5章 字符串、单元数组和结构 3. 结构型变量 直接输入法生成结构型变量 使用struct函数生成结构型变量 在结构体变量中添加成员变量 在结构体变量中删除成员变量 在结构体变量中调用成员变量 getefield和setfield函数的使用 Date 23第5章 字符串、单元数组和结构 结构体与单元数组的异同 结构体是根据属性名组织起来的不同类型 数据的集合,其易与单元数组类型混淆。 结构体的每一个元素叫做单元,而每一个 单元包含MATLAB7.0数组。结构体和单元 数组的共同之处在于它们都提供了一种分 级存储机制来存储不同类型的数据,不同 之处是组织数据的方式不一样。结构体数 组里的数据是通过属性名来引用的,而在 单元数组里,数据是通过单元数组下标引 用来操作的。 Date 24第5章 字符串、单元数组和结构 (1)直接输入法生成结构型变量 student.test=99 56 96 87 67 69 87 76 92; =Wu Qing; student.weight=68; student.height=1.72; student.num=2003214091; student.add=School of civil engneering.Tsinghua university; student.tel=1381042679*; Date 25第5章 字符串、单元数组和结构 (2)使用struct函数生成结构型变量 truct_array=struct(d,北京,上海 ,strengths,40000 1000) d和strengths是属性 truct_array = d: 北京 上海 strengths: 40000 1000 Date 26第5章 字符串、单元数组和结构 (3)在结构体变量中添加成员变量 student(1).gender=Male; %在student中添加gender和 age这2项记录 student(1).age=25; student(2).gender=Female; student(2).age=21; student %查询student的结构 student = 1x2 struct array with fields: test name weight height num add tel gender age Date 27第5章 字符串、单元数组和结构 (4)在结构体变量中删除成员变量 使用函数rmfifld从结构体变量中删除成员变量 。 student=rmfield(student,age); student = 1x2 struct array with fields: test name weight height num add tel gender Date 28第5章 字符串、单元数组和结构 (5) 在结构体变量中调用成员变量 student(1).test %从结构体变量中取出相关信息 ans = 99 56 96 87 67 69 87 76 92 student(1).test(5) ans = 67 student(1).add ans = Sc

温馨提示

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

评论

0/150

提交评论