MATLAB-07-字符串.ppt

上传人:小飞机 文档编号:6511666 上传时间:2023-11-08 格式:PPT 页数:31 大小:248.49KB
返回 下载 相关 举报
MATLAB-07-字符串.ppt_第1页
第1页 / 共31页
MATLAB-07-字符串.ppt_第2页
第2页 / 共31页
MATLAB-07-字符串.ppt_第3页
第3页 / 共31页
MATLAB-07-字符串.ppt_第4页
第4页 / 共31页
MATLAB-07-字符串.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《MATLAB-07-字符串.ppt》由会员分享,可在线阅读,更多相关《MATLAB-07-字符串.ppt(31页珍藏版)》请在三一办公上搜索。

1、字符串数组,字符串的生成(1/2),字符串的生成 在指令窗口中,先把待建的字符放在“单引号对”中,再按【Enter】键。单引号一定是英文状态下输入。例如:stringname=the content of the string。MATLAB 中的字符串为 ASCII 值的数值数组,作为字符串表达式进行表示。指令abs和double都可以获得字符串数组的ASCII码,2023年11月8日,第2页,字符串的生成(2/2),字符串是一个 ASCII 码的字符数组,因此,与普通数组一样,字符串也可以形成矩阵(表现为一个字符串有多行)。但是,这些行必须有相同数目的列数。另外,使用 char 函数可以创建

2、长度不一致的字符串矩阵。char 函数自动将所有字符串的长度设置为输入字符串中长度的最大值。,2023年11月8日,第3页,字符串的操作,字符串的显示字符串的显示有两种方式:直接显示和利用 disp 函数进行显示。字符串的执行在 MATLAB 中可以用函数 eval 来执行字符串。,2023年11月8日,第4页,字符串的运算,字符串的运算主要包括:判断字符串是否相等通过字符串运算来比较字符串中的字符进行字符分类、查找与替换字符串与数值数组之间的相互转换,2023年11月8日,第5页,2023年11月8日,第6页,字符串的比较(1/3),字符串的比较主要为比较两个字符串是否相同,字符串中的子串是

3、否相同和字符串中的个别字符是否相同。用于比较字符串的函数主要是 strcmp 和 strncmp。strcmp:用于比较两个字符串是否相同。用法为 strcmp(str1,str2),当两个字符串相同时返回1,否则返回0。当所比较的两个字符串是元胞字符数组时,返回值为一个列向量,元素为相应行比较的结果。strncmp:用于比较两个字符串的前面几个字符是否相同。用法为 strncmp(str1,str2,n),当字符串的前 n 个字符相同时返回1,否则返回 0。当所比较的两个字符串时元胞数组时,返回值为列向量,元素为相应行比较的结果。,2023年11月8日,第7页,字符串的比较(2/3),除了利

4、用上面两个函数进行比较之外,还可以通过简单运算比较两个字符串。当两个字符串拥有相同的维数时,可以利用 MATLAB 运算法则,对字符数组进行比较。字符数组的比较与数值数组的比较基本相同,不同之处在于字符数组比较时进行比较的是字符的 ASCII 码值。进行比较返回的结果为一个数值向量,元素为对应字符比较的结果。需要注意的是在利用这些运算比较字符串时,相互比较的两个字符串必须有相同数目的元素。,2023年11月8日,第8页,2023年11月8日,第9页,字符串的比较(3/3),除上面介绍的两个字符串之间的比较之外,MATLAB 还可以判断字符串中的字符是否为空格字符或者字母。实现这两个功能的函数分

5、别为 isspace 和isletter。下面分别介绍这两个函数。isspace:用法为 isspace(str),判断字符串 str 中的字符是否为空格,是空格字符则返回1,否则返回0。isletter:用法为 isletter(str),判断字符串 str 中的字符是否为字母,是字母则返回1,否则返回0。,2023年11月8日,第10页,字符串的查找和替换,查找与替换是字符串操作中的一项重要内容。用于查找的函数主要有 findstr,strmatch,strrep,strtok 等。下面一一介绍这些函数。findstr:用于在一个字符串中查找子字符串,返回子字符串出现的起始位置。用法为fi

6、ndstr(str1,str2),执行时系统首先判断两个字符串的长短,然后在长的字符串中检索短的子字符串。strrep:查找字符串中的子字符串并将其替换为另一个子字符串。用法为 str=strrep(str1,str2,str3),将 str1 中的所有子字符串 str2 替换为 str3。,2023年11月8日,第11页,strmatch:在字符数组的每一行中查找是否存在待查找的字符串,存在则返回1,否则返回0。用法为strmatch(str,STRS),查找 str 中以 STRS 开头的字符串。另外可以用strmatch(str,STRS,exact),查找精确包含 STRS 的字符串。

7、strtok:该函数用于选取字符串中的一个部分。该函数的简单用法为 strtok(str)。,2023年11月8日,第12页,字符串与数值之间的转化,一个字符串是由单引号括起来的简单文本。在字符串中的每个字符都是数组中的一个元素,这些数字是由 ASCII 字符表示的。这些字符和整数之间可以相互转化。首先,可以将字符串转化为数组。,2023年11月8日,第13页,char 函数的用法,char 函数的用法Str=char(arr),该命令将包含正数的数组 arr 转化为数值数组当 C 是一个字符型元胞数组是,Str=char(arr)命令将 C 中的每一个元胞转化为字符型数组的对应行。使用 ce

8、llstr 可以进行逆变换。Str=char(str1,str2,str3,.),该命令生成的字符串矩阵包含字符串 str1、str2 和 tr3,三个字符串的长度可以不相同。,2023年11月8日,第14页,字符串和数值数组之间的转化,上面已经介绍字符串和数值数组之间可以相互转化,除上面介绍的方法,MTALAB 还提供更多的函数,用于字符串和其他数据类型数值数组之间的转化,可以实现更多功能。,2023年11月8日,第15页,2023年11月8日,第16页,元胞数组,元胞数组,元胞数组的生成元胞数组的操作 元胞数组元素的访问元胞数组的显示元胞数组的图形显示元胞数组元素的删除改变元胞数组的维数,

9、2023年11月8日,第18页,元胞数组的生成,元胞数组中的每一个元素称为元胞(cell)。元胞中的数据可以为任何数据类型,包括数值数组、字符、符号对象、其他元胞数组和结构体。不同的元胞中的数据类型可以不同。MATLAB 中的元胞数组可以为任意维,通常最常用的是一维和二维元胞数组。用户可以通过两种方式创建一个元胞数组:一个是通过赋值语句直接创建;二是利用 cell 函数先为元胞数组分配一个内存空间,然后再给各个元胞赋值。,2023年11月8日,第19页,直接赋值法通过给每个元胞逐个赋值来创建元胞数组。元胞数组用花括号表示,在赋值时需要将元胞内容用花括号(即)括起来。下面介绍用 cell 函数创

10、建元胞数组。使用 cell 函数创建元胞数组的步骤为:首先用 cell 函数创建一个空的元胞数组,然后再为数组元素赋值。,2023年11月8日,第20页,元胞数组元素的访问,使用圆括号和花括号对元胞数组索引是不同的。当采用圆括号时表示的是该元胞,而采用花括号时则表示的是该元胞的内容。在 MATLAB 元胞数组索引中,圆括号用于标志元胞、花括号用于按元胞的寻址。,2023年11月8日,第21页,显示元胞数组,在显示元胞数组时 MATLAB 有时只显示元胞的大小和数据类型,而不显示每个元胞的具体内容。若要显示元胞数组的内容,可以用 celldisp 函数。celldisp 函数用于显示元胞数组的全

11、部内容,有时候只需要显示元胞数组的一个元胞,可以用花括号对元胞进行索引。,2023年11月8日,第22页,元胞数组的图形显示,除上面的元胞数组查看方式外,MATLAB 支持以图形方式查看元胞数组的内容。用这种方法可以直观的看出元胞数组的结构。但是需要注意的是,cellplot 只能用于显示二维元胞数组的内容。,2023年11月8日,第23页,元胞数组元素的删除,元胞数组元素删除的方法很简单,只需将待删除的元素置为“空”即可。需要注意的是在删除元胞数组的元素时,采用的索引方式为一维下标,格式为:A(cell_subscripts)=。如果操作的元胞数组为多维数组,则其索引方式逐维进行,删除元素后

12、,系统将该元胞数组改变为一维元胞数组,元素按照维数逐次排序。删除数组元素可以每次删除多个,下标用一维数组指定,2023年11月8日,第24页,改变元胞数组的维数,改变数组的维数可以通过添加或删除数组元素完成。删除数组元素时,得到的元胞数组为原数组中剩下元素排列而成,为一维数组,如上面一部分所介绍。添加数组元素时,自动添加该数组所对应的行和列,其他元素为空。另外可以通过函数 reshape 改变数组的形状。reshape 函数按照顺序将原元胞数组的元素进行重新放置,得到新的元胞数组元素个数与原数组相同。,2023年11月8日,第25页,结构体,结构体,结构体的生成 结构体的操作 添加成员变量删除

13、成员变量调用成员变量,2023年11月8日,第27页,结构体的生成,与元胞数组类似,结构体也有两种生成方式,一种是直接输入,另一种是使用结构体生成函数 struct。通过直接输入结构体各元素值的方法可以创建一个结构体。输入的同时定义该元素的名称,并使用“.”将变量名与元素名连接。struct 函数的最基本的使用方式是 struct_name=struct(field1,V1,field2,V2,.),其中 fieldn 是各成员变量名,Vn为对应的各成员变量的内容。,2023年11月8日,第28页,添加成员变量,如果需要向结构体中添加新的成员,可以直接输入该变量的名称并赋值。,2023年11月

14、8日,第29页,删除成员变量,在 MATLAB 中可以使用函数 rmfield 从结构体中删除成员变量。命令 S=rmfield(S,field)将删除结构体 S 中的成员 field,同时保留 S 原有的结构。可以使用命令 S=rmfield(S,fields)一次删除多个成员,其中 fields 为字符行变量或者元胞型变量。该命令删除 fields 中指定的成员。,2023年11月8日,第30页,调用成员变量,在 MATLAB 中调用成员变量非常简单。结构体中的任何信息,可以通过“结构体变量名.成员名”的方式调用。调出成员变量后,可以利用相关函数进行调用。,2023年11月8日,第31页,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号