书签 分享 收藏 举报 版权申诉 / 62
上传文档赚钱

类型第4章-字符串(MATLAB课件).ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5177322
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:62
  • 大小:798KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第4章-字符串(MATLAB课件).ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    字符串 MATLAB 课件
    资源描述:

    1、MATLAB 7.0MATLAB 7.0从入从入门到精通门到精通哈尔滨工业大学哈尔滨工业大学(威海威海)汽车工程学院汽车工程学院2023-2-162课程主要内容课程主要内容 第第1章章 MATLAB简介简介 第第2章章 数值运算数值运算 第第3章章 单元数组和结构单元数组和结构 第第4章章 字符串字符串 第第5章章 符号运算符号运算 第第6章章 MATLAB绘图基础绘图基础 第第7章章 程序设计程序设计 第第8章章 计算方法的计算方法的MATLAB实现实现 第第9章章 优化设计优化设计 第第10章章 SIMULINK仿真初探仿真初探2023-2-163第第4章章 字符串字符串 字符和字符串是字

    2、符和字符串是MATLAB语言的重要组成部语言的重要组成部分,分,MATLAB语言提供了强大的字符串处理语言提供了强大的字符串处理功能。功能。2023-2-1644.1 字符串概念字符串概念 字符串生成:字符串生成:字符串要用单引号生成,字字符串要用单引号生成,字符串可以有多行,但每行必须有相同数目符串可以有多行,但每行必须有相同数目的列数。的列数。如果像普通矩阵一样中间加逗号或空格,如果像普通矩阵一样中间加逗号或空格,则默认为是一个字符串。则默认为是一个字符串。必须注意的是在字符数组中是要计算空格必须注意的是在字符数组中是要计算空格的,它的每个字符的,它的每个字符(包括空格包括空格)都是字符数

    3、组都是字符数组的一个元素,我们可以使用前面讲的的一个元素,我们可以使用前面讲的size命命令来查看字符数组的维数。令来查看字符数组的维数。单引号一对算为一个字符,并且中间不能单引号一对算为一个字符,并且中间不能包括其他字符,主要是空格。包括其他字符,主要是空格。2023-2-165程序实例程序实例 a=asd;erty;dfghjrt;sd?Error using=vertcat All rows in the bracketed expression must have the same number of columns.2023-2-166 a=asd ;erty ;dfghjrt;sd

    4、 a=asd erty dfghjrt sd2023-2-167 a=asd;erty ;dfghjrt;sd a=asd erty dfghjrt sd2023-2-168 a=abc,sdf;qwd,xcd a=abcsdf qwdxcd a=abc sdf;qwd xcd a=abcsdf qwdxcd2023-2-169 a=abcsdf;qwdxcd a=abcsdf qwdxcd2023-2-1610 a=I am a student!a=I am a student!size(a)ans=1 152023-2-16114.2 字符串合并字符串合并 水平连接:水平连接:可以用字符串

    5、合并函数可以用字符串合并函数strcat()来来得到一个水平连接的新字符串,值得注意的是,得到一个水平连接的新字符串,值得注意的是,函数函数strcat()在合并字符串的同时会把字符串在合并字符串的同时会把字符串结尾的空格删掉,要保留这些空格,可以使用结尾的空格删掉,要保留这些空格,可以使用矩阵合并符矩阵合并符来实现字符串的完整合并。来实现字符串的完整合并。垂直连接:垂直连接:如果想实现字符串的上下合并如果想实现字符串的上下合并(连连接接)(即二维数组的生成即二维数组的生成),可采用,可采用strvcat函数,函数,且行之间的默认长度相同,以最长的为准,不且行之间的默认长度相同,以最长的为准,

    6、不够长度的自动补空格。如果采用够长度的自动补空格。如果采用;来垂直连接来垂直连接的话,两个字符串必须要有相同的长度。的话,两个字符串必须要有相同的长度。2023-2-1612程序实例程序实例 a=wo shi;b=xue sheng.;c=strcat(a,b)c=wo shixue sheng.c=a,b c=wo shi xue sheng.c=a b c=wo shi xue sheng.2023-2-1613 a=wo shi;b=xue sheng.;c=strvcat(a,b)c=wo shi xue sheng.size(c)ans=2 102023-2-1614 a=wo sh

    7、i;b=xue sheng.;d=a;b?Error using=vertcat All rows in the bracketed expression must have the same number of columns.2023-2-1615 a=wo shi ;b=xue sheng.;d=a;b d=wo shi xue sheng.size(d)ans=2 102023-2-16164.3 字符串元素读取字符串元素读取 1、使用、使用disp函数显示字符串函数显示字符串;2、如果读取字符串中某些元素,与前面数、如果读取字符串中某些元素,与前面数组的命令相同。组的命令相同。202

    8、3-2-1617程序实例程序实例 a=wo shi xue sheng;disp(a)wo shi xue sheng a(5)ans=h2023-2-1618 a=wo shi xue sheng;a(4:6)ans=shi a(6:-1:4)ans=ihs2023-2-1619 a=wo shi xue sheng;a(2:2:8)ans=osix a(2:2:9)ans=osix2023-2-1620 a=wo shi xue sheng;a(2 5 8 3 1)ans=ohx w a(2:2:8,9)ans=osixu2023-2-16214.4 字符串的基本变换字符串的基本变换 字符

    9、串的字符串的ASC码操作码操作 将字符串转化成其相对应的将字符串转化成其相对应的ASC码使用码使用abs函数命令,进行逆变换时使用函数命令,进行逆变换时使用char函数函数命令。命令。s=char(t1,t2,t3,.)命令生成的字符串矩阵包命令生成的字符串矩阵包含字符串含字符串t1、t2和和t3。它们的字符个数可以。它们的字符个数可以不相等。不相等。s=char(x)将包含正数的数组将包含正数的数组x转换为字符数转换为字符数组。当组。当x是一个字符型单元数组时,此命令是一个字符型单元数组时,此命令将每一个单元转换为字符型数组的对应行。将每一个单元转换为字符型数组的对应行。2023-2-162

    10、2程序实例程序实例 a=wo shi xue sheng;b=abs(a)b=Columns 1 through 13 119 111 32 115 104 105 32 120 117 101 32 115 104 Columns 14 through 16 101 110 1032023-2-1623 s=char(104,109,as,113)s=h m as q s=char(wo,shi,xue sheng)s=wo shi xue sheng2023-2-1624 x=97 98;99 100;s=char(x)s=ab cd x=97,98;99,100;s=char(x)s=a

    11、b cd2023-2-1625 s=char(wo,shi;xue,sheng)s=wo xue shi sheng2023-2-1626 字符串单元型数组字符串单元型数组 可以用函数可以用函数cellstr()来创建字符串单元数组,来创建字符串单元数组,使用使用class函数查看类型。函数查看类型。2023-2-1627 b=char(wo,shi,xue,sheng)b=wo shi xue sheng c=cellstr(b)c=wo shi xue sheng2023-2-1628 b=char(wo,shi,xue,sheng);c=cellstr(b);class(b)ans=ch

    12、ar class(c)ans=cell程序实例程序实例2023-2-16294.5 字符串的运算字符串的运算 判断字符串是否相等判断字符串是否相等 strcmp(a1,a2)函数比较两个字符串是否相等,相函数比较两个字符串是否相等,相等返回等返回1,不相等返回,不相等返回0。strncmp(a1,a2,n)比较两个输入字符串的前几个字比较两个输入字符串的前几个字符是否相等,相等返回符是否相等,相等返回1,不相等返回,不相等返回0。strcmpi(a1,a2)函数比较两个字符串是否相等,忽函数比较两个字符串是否相等,忽略字符串的大小写,相等返回略字符串的大小写,相等返回1,不相等返回,不相等返回

    13、0。strncmpi(a1,a2,n)比较两个输入字符串的前几个字比较两个输入字符串的前几个字符是否相等,忽略字符串的大小写,相等返回符是否相等,忽略字符串的大小写,相等返回1,不相等返回不相等返回0。2023-2-1630程序实例程序实例 a1=xuesheng;jiaoshi;a2=xuesheng;jiaogong;n=strcmp(a1,a2)n=1 0 n=strncmp(a1,a2,4)n=1 1 n=strncmp(a1,a2,5)n=1 02023-2-1631 a=XUESHENG;b=xuesheng;strcmp(a,b)ans=0 strcmpi(a,b)ans=120

    14、23-2-1632 字符串的比较运算字符串的比较运算(关系运算符关系运算符)对字符串进行比较时,就是对字符的对字符串进行比较时,就是对字符的ASC码进行比较,符合的返回码进行比较,符合的返回1,不符合的返回,不符合的返回0。相互比较的字符创必须具有相同的尺寸。相互比较的字符创必须具有相同的尺寸。2023-2-1633程序实例程序实例 f1=asdfg;f2=asw;f1f2?Error using=gt Matrix dimensions must agree.f1=asdfg;f2=aswbi;f1=f2 ans=1 1 0 1 02023-2-1634 a1=xuesheng;jiaosh

    15、i;a2=xuesheng;jiaogong;a1a2?Undefined function or method gt for input arguments of type cell.a1(1)a2(1)?Undefined function or method gt for input arguments of type cell.程序实例程序实例2023-2-1635 a1=xuesheng;jiaoshia;a2=xuesheng;jiaogong;a12a22 ans=0 0 0 0 1 0 0 0 a12=a22 ans=1 1 1 1 1 0 0 0程序实例程序实例2023-2-

    16、1636 字符类型判断字符类型判断 isspace(s)命令判断字符命令判断字符s是否为空白字符,是否为空白字符,是返回结果为是返回结果为1,不是返回结果为,不是返回结果为0。isletter(s)命令判断字符命令判断字符s是否为字母字符,是否为字母字符,是返回结果为是返回结果为1,不是返回结果为,不是返回结果为0。2023-2-1637程序实例程序实例 s=a&j d#;f1=isspace(s)f1=0 0 1 0 1 0 0 f2=isletter(s)f2=1 0 0 1 0 1 02023-2-1638 字符串查找字符串查找 k=findstr(s1,s2)函数会根据所给的字符串中的

    17、字函数会根据所给的字符串中的字符来查找字符串,当查找成功后返回第一个相同符来查找字符串,当查找成功后返回第一个相同字符的具体位置。字符的具体位置。s1和和s2的位置可以调换,即不的位置可以调换,即不管管s1还是还是s2都可以是被查找的对象。即在长的字都可以是被查找的对象。即在长的字符串中查找短的字符串。符串中查找短的字符串。k=strfind(test,pattern)函数会根据所给的字符串中函数会根据所给的字符串中的字符来查找字符串,当查找成功后返回第一个的字符来查找字符串,当查找成功后返回第一个相同字符的具体位置。相同字符的具体位置。s1和和s2的位置不可以调换,的位置不可以调换,只能在只

    18、能在text中查找中查找pattern。当。当pattern 的长度大于的长度大于text 时返回时返回。2023-2-1639程序实例程序实例 s1=xuesheng;s2=e;k=findstr(s1,s2)k=3 6 k=findstr(s2,s1)k=3 62023-2-1640 s1=xuesheng;s2=e;k=strfind(s1,s2)k=3 6 k=strfind(s2,s1)k=2023-2-1641 字符串替换字符串替换 s=strrep(s1,s2,s3)函数会把字符串函数会把字符串s1中的中的s2子串都换成字符串子串都换成字符串s3,并返回置换后的新字,并返回置换后

    19、的新字符串。符串。当当s1、s2和和s3都是单元型变量时,命令返回都是单元型变量时,命令返回一个与一个与s1、s2和和s3相同型号的单元型变量,相同型号的单元型变量,此时要保证此时要保证s1、s2和和s3的型号相同。的型号相同。s1、s2和和s3可以不都是单元型数组。可以不都是单元型数组。2023-2-1642 s1=This is a good example;strrep(s1,good,great)ans=This is a great example strrep(s1,bad,great)ans=This is a good example strrep(s1,great)ans=T

    20、his is a good example程序实例程序实例2023-2-1643程序实例程序实例 s1=xuesheng;s2=e;s3=E;strrep(s1,s2,s3)ans=xuEshEng2023-2-1644 s11,1=asdfg;s11,2=sdfregh;s2=s;s31,1=l;s31,2=k;strrep(s1,s2,s3)ans=aldfg kdfregh2023-2-1645 s11,1=(asdfg);s11,2=sdfregh;s2=s;s3=l strrep(s1,s2,s3)ans=aldfg ldfregh2023-2-1646 s11,1=(asdfg);

    21、s11,2=sdfregh;s21,1=d;s21,2=g;s31,1=Y;s31,2=N;strrep(s1,s2,s3)ans=asYfg sdfreNh2023-2-1647 s11,1=(asdfg);s11,2=sdfregh;s21,1=d;s21,2=g;s3=Y;strrep(s1,s2,s3)ans=asNfg sdfreNh2023-2-1648 s11,1=(asdfg);s11,2=sdfregh;s21,1=d;s21,2=g;s31,1=Y;s31,2=N;s31,3=N;strrep(s1,s2,s3)?Error using=strrep Inputs must

    22、 be the same size or any one can be a scalar.2023-2-1649 字符串与数值的转换字符串与数值的转换 num2str函数用于将数字转换成字符。函数用于将数字转换成字符。t=num2str(x)可将矩阵可将矩阵x转换成一个字符串转换成一个字符串t,其精度保留其精度保留4位小数。位小数。t=num2str(x,n)同上,只是精度为保留同上,只是精度为保留n-1位位小数小数(n位数字位数字)。字符串注意空格。字符串注意空格。2023-2-1650程序实例程序实例 a=1.234521,2.341267;3.126542,5.123864 a=1.23

    23、45 2.3413 3.1265 5.1239 b=num2str(a)b=1.2345 2.3413 3.1265 5.1239 b=num2str(a,7)b=1.234521 2.341267 3.126542 5.1238642023-2-1651 a=1 2;3 4 a=1 2 3 4 b=num2str(a)b=1 2 3 4 s1=class(a)s1=double s2=class(b)s2=char2023-2-1652 s=int2str(x)函数先将矩阵函数先将矩阵x中的元素取整之中的元素取整之后再将其转换为一个字符串矩阵后再将其转换为一个字符串矩阵s,按四舍,按四舍五入

    24、的原则。五入的原则。x为字符型矩阵时,将其转换为一个数字矩为字符型矩阵时,将其转换为一个数字矩阵型字符串,其数值为阵型字符串,其数值为ASC码。码。2023-2-1653程序实例程序实例 a=1.2 2.5;3.6 4.7 a=1.2000 2.5000 3.6000 4.7000 t=int2str(a)t=1 3 4 52023-2-1654 a=a;f a=a f s=int2str(a)s=97 102 2*s ans=64 114 110 98 96 1002023-2-1655 str2num(x)把一个字符串转化成数值类型。把一个字符串转化成数值类型。str2double(x)函

    25、数用于将字符串转换为双精函数用于将字符串转换为双精度的数值。度的数值。mat2str函数将数组转换为相应的字符串。函数将数组转换为相应的字符串。2023-2-1656程序实例程序实例 x=1 23;13 2 x=1 23 13 2 y=str2num(x)y=1 23 13 22023-2-1657程序实例程序实例 mat=magic(3)mat=8 1 6 3 5 7 4 9 2 str=mat2str(mat)str=8 1 6;3 5 7;4 9 22023-2-1658 字符串的求值字符串的求值 利用利用eval函数对字符串表达式进行求值,其函数对字符串表达式进行求值,其调用格式为:调用格式为:v=eval(f)f必须是字符串表达式。必须是字符串表达式。2023-2-1659程序实例程序实例 a1=12;a2=30;b=a1-a2;c=eval(b)c=-182023-2-16604.6 数值与字符串之间的转换函数数值与字符串之间的转换函数2023-2-16612023-2-1662谢谢!谢谢!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第4章-字符串(MATLAB课件).ppt
    链接地址:https://www.163wenku.com/p-5177322.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库