欢迎来到天天文库
浏览记录
ID:38294671
大小:303.81 KB
页数:29页
时间:2019-06-07
《字符串、单元数组和结构体》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章字符串、单元数组和结构体MATLABR2007基础教程清华大学出版社教学目标教学重点教学内容7/26/20211教学目标掌握字符串的生成及操作掌握单元数组的生成及操作掌握结构体的生成及操作7/26/20212教学重点字符串单元数组结构体7/26/20213教学内容字符串单元数组结构体7/26/20214字符串的生成(1/2)字符串的生成MATLAB中的字符串为ASCII值的数值数组,作为字符串表达式进行表示。在MATLAB中,生成字符串的方法为stringname=’thecontentofthe
2、string’。7/26/20215字符串的生成(2/2)字符串是一个ASCII码的字符数组,因此,与普通数组一样,字符串也可以形成矩阵(表现为一个字符串有多行)。但是,这些行必须有相同数目的列数。另外,使用char函数可以创建长度不一致的字符串矩阵。char函数自动将所有字符串的长度设置为输入字符串中长度的最大值。7/26/20216字符串的操作字符串的显示字符串的显示有两种方式:直接显示和利用disp函数进行显示。字符串的执行在MATLAB中可以用函数eval来执行字符串。7/26/20217字符串
3、的运算字符串的运算主要包括:判断字符串是否相等通过字符串运算来比较字符串中的字符进行字符分类、查找与替换字符串与数值数组之间的相互转换函数名函数用途函数名函数用途strcat横向连接字符串strvcat纵向连接字符串strcmp字符串比较strncmp比较字符串的前n个字符findstr字符串查找strjust字符串对齐strmatch字符串匹配strrep字符串查找与替换strtok选择字符串中的部分blanks创建由空格组成的字符串deblank删除字符串结尾的空格ischar判断变量是否为字符串i
4、scellstr判断字符串单元数组isletter判断数组是否由字母组成isspace判断是否空格stringsMATLAB字符串句柄7/26/20218字符串的比较(1/3)字符串的比较主要为比较两个字符串是否相同,字符串中的子串是否相同和字符串中的个别字符是否相同。用于比较字符串的函数主要是strcmp和strncmp。strcmp:用于比较两个字符串是否相同。用法为strcmp(str1,str2),当两个字符串相同时返回1,否则返回0。当所比较的两个字符串是单元字符数组时,返回值为一个列向量,元
5、素为相应行比较的结果。strncmp:用于比较两个字符串的前面几个字符是否相同。用法为strncmp(str1,str2,n),当字符串的前n个字符相同时返回1,否则返回0。当所比较的两个字符串时单元数组时,返回值为列向量,元素为相应行比较的结果。7/26/20219字符串的比较(2/3)除了利用上面两个函数进行比较之外,还可以通过简单运算比较两个字符串。当两个字符串拥有相同的维数时,可以利用MATLAB运算法则,对字符数组进行比较。字符数组的比较与数值数组的比较基本相同,不同之处在于字符数组比较时进行
6、比较的是字符的ASCII码值。进行比较返回的结果为一个数值向量,元素为对应字符比较的结果。需要注意的是在利用这些运算比较字符串时,相互比较的两个字符串必须有相同数目的元素。符号符号意义英文简写==等于eq~=不等于ne<小于lt>大于gt<=小于等于le>=大于等于ge7/26/202110字符串的比较(3/3)除上面介绍的两个字符串之间的比较之外,MATLAB还可以判断字符串中的字符是否为空格字符或者字母。实现这两个功能的函数分别为isspace和isletter。下面分别介绍这两个函数。isspac
7、e:用法为isspace(str),判断字符串str中的字符是否为空格,是空格字符则返回1,否则返回0。isletter:用法为isletter(str),判断字符串str中的字符是否为字母,是字母则返回1,否则返回0。7/26/202111字符串的查找和替换查找与替换是字符串操作中的一项重要内容。用于查找的函数主要有findstr,strmatch,strrep,strtok等。下面一一介绍这些函数。findstr:用于在一个字符串中查找子字符串,返回子字符串出现的起始位置。用法为findstr(st
8、r1,str2),执行时系统首先判断两个字符串的长短,然后在长的字符串中检索短的子字符串。strrep:查找字符串中的子字符串并将其替换为另一个子字符串。用法为str=strrep(str1,str2,str3),将str1中的所有子字符串str2替换为str3。7/26/202112strmatch:在字符数组的每一行中查找是否存在待查找的字符串,存在则返回1,否则返回0。用法为strmatch('str',STRS),查找str中以ST
此文档下载收益归作者所有