资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
字符串、单元数组和结构 教学目标 教学重点 教学过程Date1第5章 字符串、单元数组和结构教学目标 将介绍三种特殊的数据类型,即字符 串、单元数组和结构。 使用这三种数据类型,相关的数据可 以通过一个单元数组或是结构进行组 织和访问,数据的管理就变得要容易 一些。 Date2第5章 字符串、单元数组和结构教学重点 字符串的设定和操作 单元数组的操作 结构型变量的操作Date3第5章 字符串、单元数组和结构教学过程 字符串的设定 字符串的各种操作 单元数组的生成方法 单元数组的操作 结构型变量的生成方法 结构型变量的操作Date4第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 arrayDate5第5章 字符串、单元数组和结构2. 字符串的操作 字符串元素的读取 字符串的基本变换 字符串的运算 Date6第5章 字符串、单元数组和结构(1)字符串元素的读取 字符串元素的读取 利用数组操作工具进 行读取 使用disp函数显示字 符串 str=今天,是2005年10 月25日, 我们班一起去上 海旅游。 str = 今天,是2005年10月25日 , 我们班一起去上海旅游 。 str(6) ans = 0Date7第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 2Date8第5章 字符串、单元数组和结构常见字符串的操作 函 数 名函 数 用 途函 数 名函 数 用 途 strcat链接字符串strvcat垂直链接字符串strcmp比较字符串大小strncmp比较字符串的前n个字符findstr在其他的字符串中寻找该字符 串strjust证明字符数组strmatch查找可能匹配的字符串strrep用其他字符串代替改串strtok查找字符串中的记号blanks生成空的字符串deblank删除字符串内的空格ischar字符串检验iscellstr字符串的单元检验isletter字母检验 isspace空格检验stringsstrings函数的帮助Date9第5章 字符串、单元数组和结构(3)字符串的运算 字符串的运算主要是指判断字符串是 否相等,通过字符的运算来比较字符 ,字符串中字符的分类、查找与替换 、字符串与数值的转换和数组与字符 串的转换等。 Date10第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 Date11第5章 字符串、单元数组和结构通过字符的运算比较字符 运算符号的意义符 号 形 式符 号 意 义英 文 简 写=等于eq = 不等于ne大于gt =大于或等于geDate12第5章 字符串、单元数组和结构字符串中字符的分类 字符串中的字符通 常可以分为空白字 符、字母字符和其 他类型的字符。用 户可以用isletter和 isspace两个函数 来对字符串中的字 符进行分类 。 realstring=www.zaobao.com realstring = www.zaobao.com 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 Date13第5章 字符串、单元数组和结构. 查找与替换 查找与替换是字符 串操作中的一项重 要内容,MATLAB 7语言提供了findstr 、strfind和strrep等 函数来实现查找与 替换操作。 s1=我们班的班长是是赵洁 !; s2=strrep(s1,赵洁,黄远) s2 = 我们班的班长是是黄远! s3=strrep(s2,黄远! ,谁?) s3 =我们班的班长是是谁?Date14第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整数转换 成字符串Date15第5章 字符串、单元数组和结构字符串与数值的转换举例 使用str2num函数将字符型矩阵转换为 数字矩阵 S = 1 2 ;3 4 S = % S为字符型矩阵 1 2 3 4 X=str2num(S) X = %X为数字型矩阵 1 2 3 4Date16第5章 字符串、单元数组和结构2. 单 元 数 组 直接生成单元数组 使用cell函数生成单元数组 单元数组的内容的显示或获取 单元数组的变维处理 Date17第5章 字符串、单元数组和结构 单元数组就是每个元素为一个单元的 数组。每个单元都可以包含任意数据 类型的MATLAB数组。Date18第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 doubleDate19第5章 字符串、单元数组和结构(2)使用cell函数生成单元数组 应用举例: A=cell(2,2) A = A1,1=富强 民主 ;文明 廉洁 A = 2x4 char Date20第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 Date21第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 Date22第5章 字符串、单元数组和结构3. 结构型变量 直接输入法生成结构型变量 使用struct函数生成结构型变量 在结构体变量中添加成员变量 在结构体变量中删除成员变量 在结构体变量中调用成员变量 getefield和setfield函数的使用 Date23第5章 字符串、单元数组和结构结构体与单元数组的异同 结构体是根据属性名组织起来的不同类型 数据的集合,其易与单元数组类型混淆。 结构体的每一个元素叫做单元,而每一个 单元包含MATLAB7.0数组。结构体和单元 数组的共同之处在于它们都提供了一种分 级存储机制来存储不同类型的数据,不同 之处是组织数据的方式不一样。结构体数 组里的数据是通过属性名来引用的,而在 单元数组里,数据是通过单元数组下标引 用来操作的。Date24第5章 字符串、单元数组和结构(1)直接输入法生成结构型变量 student.test=99 56 96 87 67 69 87 76 92; student.name=
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号