《matlabMatlab编程》由会员分享,可在线阅读,更多相关《matlabMatlab编程(20页珍藏版)》请在金锄头文库上搜索。
1、v 字符与字符串q 字符与字符串运算是各种高级语言不可缺少的部分 ,Matlab具有强大的字符处理能力。q 关于字符串的约定: 所有字符串必须用单引号括起来; 在Matlab中,字符串和字符数组(矩阵)基本上是等 价的;Matlab数据类型(二)1例:Matlab数据类型2 字符串的每个字符(包括空格)都是字符串的一个元 素; 字符串中的字符以ASCII码存储,因而大小写是有区 别的,可用abs函数查看一个字符的ASCII码。size函数可用来查 看字符数组的维数Matlab数据类型3q 字符串的生成 直接用单引号赋值,例: s3=Matlab 使用 char 函数把数字按照ASCII 码转换
2、为字符串。Matlab数据类型4q 字符串与数组之间的转换 字符串转换为数值代码:abs,double 数值数组转换为字符串:char,num2str,int2str,mat2str,把数字直接转换为字符 串,每个数字为一个独 立的字符串。把数字取整后转换为字 符串,注意和 num2str 的区别。把矩阵转换为一个字符 串,方括号、分号和空 格都是其元素。Matlab数据类型5例:q数值数组转换为字符数组后,表面上看形式相同, 但此时的元素是字符而不是数字! q若要使字符数组能够进行数值计算,需先将其转换 为数值数组!Matlab数据类型6 str2num:将字符数组转换为数值数组q abs,
3、double,char按照 ASCII码 转换; q num2str,int2str,mat2str,str2num 直接转换 。Matlab数据类型7q 字符串的连接 水平连接:strcat 或 中括号中用逗号连接在中括号中直接水平连 接,结果中包括原字符 串结尾处的空格。用 strcat 连接,结果 中忽略原字符串结尾处 的空格。水平连接得到的是一个更长的字符串。Matlab数据类型8q 字符串的连接 垂直连接:strvcat 或 中括号中用分号连接在中括号中用分号实现垂直 连接,必须保证每个被连接 的字符串长度相等,否则需 用空格补齐。用 strvcat 连接,自动为较 短的字符串补足空
4、格。垂直连接得到的是一个字符串数组。Matlab数据类型9q 执行字符串:evalMatlab数据类型10q 字符串的其它相关常用函数注:可参见C语言中字符串操作的相关函数函 数功 能函 数功 能 strcmp比较字符串strrep替换字符串strcmpi忽略大小写比较字符串upper转换为 大写strncmp比较字符串的前n个字符lower转换为 小写findstr在一个字符串中查找另 一个字符串strtok返回字符串中第一个 分隔符(空格,回 车和Tab键)前的 部分 strjust对齐 字符数组,包括左 对齐 ,右对齐 和居 中blanks产生空字符串strmatch查找匹配的字符串de
5、blank删除字符串中的空格Matlab数据类型11v 细胞变量(细胞数组)cell Matlab从5.0版开始引入了一种新的数据类型 - 细胞(cell),该结构把不同属性的数据纳入到一个变 量中。 细胞变量的表示方法类似于带有下标的数组,但这 些下标不是用圆括号括起来,而是用大括号括起来。Matlab数据类型 普通数组中的每个元素都必须具有相同的属性,而 细胞则没有此要求。12例:Matlab数据类型13q 细胞变量的定义可以通过以下两种方式定义一个细胞变量: 用赋值语句直接定义; 由 cell 函数预先分配存储空间,然后对细胞的 每个元素逐个赋值。Matlab数据类型14Matlab数据
6、类型15q 细胞变量可以嵌套定义Matlab数据类型16q 细胞变量的元素的引用Matlab数据类型17q 细胞变量的相关操作函数函 数功 能 cell生成细胞变量 celldis p显示细胞变量的内容cellplo t图形显示细胞变量的内容num2cel l将数值数组转换 成细胞变 量 iscell判别是否为细胞变量18习题1任意给出一个英语句子,请提取其中的单词,并设计一个结构,其域有Name、no、length、value,分别用于存储每个单词的名称、句中序号、单词长度、单词各字符的ASCII码之和,写入文件result1.txt中。Name、no、length、valueI 1 1 56Am 2 2 15019习题2n为说明字符串的应用,设计MATLAB程序对保存在文件 中的文本bugs.txt进行处理,要求:n(1)统计文件中字符串 error 出现的次数。n(2)将文件中的字符串 error 修改成 Error。n(3)统计文件中字符(a,b, t)出现的次数及频度。n(4)统计文件中单词(the, and)出现的次数。(1)(2)(4)结果存入到result2.txt20