欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《字符串运算》PPT课件.ppt

    • 资源ID:5491654       资源大小:601KB        全文页数:34页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《字符串运算》PPT课件.ppt

    第三章 字 符 串,一、字符串的赋值,说明字符串以行向量形式进行存储,每个字符占用2个字节。,whos Name Size Bytes Class s 1x11 22 char arrayGrand total is 11 elements using 22 bytes,MATLAB字符串是ASC码的数值数组,它作为字符串表达式进行显示。,例 s=how are you s=how are you,第一节 字符串的建立,格式:变量字符串,size(s)ans=1 11,半角单引号,当输入的字符串中含有单引号时,每个单引号符号都必须使用两个连续的单引号字符。,例 a=你好 a=你好,当输入的字符串中含有双引号时,双引号可以直接按字符使用。,例 a=”你好”a=“你好”,例 s4=this string array has multiple rows,size(s4)ans=2 17,注 每行字符串 大小应该相等,S4this string arrayhas multiple rows,多行串数组的输入,说明输入的是2行17列矩阵,思考1、s4=this string array;has multiple rows?2、s4=this string array,has multiple rows?3、s4=this string array has multiple rows?4、s4=this string array;multiple rows?,二、字符串的简单操作,S13=s(3:9)S13=w are y,s(end:-1:1)ans=uoy era woh,s3=s1(1:4),s2s3=这是一个例子,例s=how are yous1=这是一个字符串s2=例子,截取字符串的第3到9个字符,字符串逆序显示,字符串拼装,思考1、s4=s(3:50)?2、s4=s1(3:7)?3、s4=s(end:-2:5)?4、s4=s(end:-2:4)?,length(x)计算字符串x的长度 double(x)字符串x的ASCII码存储内容 char(x)ASCII码转换成字符串 class(x)或ischar(x)判断变量x是否是字符串 strcmp(x,y)比较字符串x和y是否相等 fingstr(x,x1)返回子串x1在x中的起始位置 deblank(x)删除字符串x尾部的空格 upper(x)字符串x小写转换成大写 lower(x)字符串x大写转换成小写,三、常用字符串函数,例 str1=Hello;str2=I like MATLAB;str3=你好!;,length(str1)ans=5,double(str1)ans=72 101 108 108 111,x=72 101 108 108 111;char(x)ans=Hello,x1=class(str1);x2=ischar(str1);x1,x2x1=char x2=1,x为字符串时class(x)返回charischar(x)返回1否则返回0,例 已知 x=123456789试编程去掉其首部空格。,算法:1、将字符串x逆序,得x1 2、去除字符串x1尾部空格,得x2 3、将字符串x3逆序,x=123456789;x1=x(end:-1:1);x2=deblank(x1);x=x1(end:-1:1);,str2num()%字符串转换成数字,但表达式中不能包含工作空间中的变量。,s=pis=pi,str2num(s)ans=3.1416,四、字符串转换函数,x=log(3);s=pi j;exp(x)pis=pi j;exp(x)pi,str2num(s)ans=,s1=pi j;exp(log(3)pis1=pi j;exp(log(3)pi,str2num(s1)ans=3.1416 0+1.0000i 3.0000 3.1416,num2str()%将数字转换成字符串,n=2;ss=num2str(n)ss=2,xx=there are,num2str(n),kg eggsxx=there are 2kg eggs,B=rand(2,4)%生成数值矩阵B=0.8214 0.6154 0.9218 0.1763 0.4447 0.7919 0.7382 0.4057,B1=num2str(B,3)%保持 3 位有效数字,转换为串B1=0.821 0.615 0.922 0.1760.445 0.792 0.738 0.406,四、字符串转换函数,四、字符串转换函数,int2str()%将数字四舍五入为整数,然后转换成字符串mat2str()%将矩阵转换成字符串,A=mat2str(pi/2*eye(2)A=1.5707963267949 0;0 1.5707963267949,常用的字符串转换函数参加课本p57表3-2,disp()%将字符串内容显示到命令窗口sprintf()%按照给定格式,数字转换成字符串,返回值为字符串格式fprintf()%按照给定格式把文本写到文件或显示屏上,返回值为显示的字符串的长度sscanf()%按照给定格式从字符串中读取数字,五、字符串输入输出函数,之前的字符串操作函数都是以变量名=字符串的形式输出结果,而无法只输出字符串;或者无法将字符串与另一个计算得到的数值变量显示在同一行上,此时应用到字符串输入输出函数。常用的函数主要有:,五、字符串输入输出函数,sprintf()%把数据按要求的格式转换成字符串,再把它与需要同时显示的字符串组成一个长字符串。,s1=sprintf(圆周率pi=%0.5fn,pi);disp(s1)圆周率pi=3.14159,十进制浮点,小数点后面5位,数据格式符,注 从%到f之间的内容是不显示的,它只是规定了数据pi的格式,格式声明命令格式参见课本p56表3-1,换行符,disp()%将字符串内容显示到命令窗口,s1=圆周率pi=3.14159;disp(s1),五、字符串输入输出函数,sscanf()%按照给定格式从字符串中读取数字,s=2.7183 3.1416s=2.7183 3.1416 A=sscanf(s,%f)A=2.7183 3.1416,A=sscanf(s,%f,1)A=2.7183 A=sscanf(s,%s)A=,六、字符串计算函数,MATLAB提供了字符串计算函数eval(),可以运行用户创建的M函数,计算并赋值给其他变量。,s=1+6*9/8n=eval(s)n=7.7500,function y=f1(x)y=x2+2;a=eval(f1(2)a=6,计算符号表达式的值:,调用函数并计算其值:,五、字符串计算函数,s2=a=5;b=2;c=a+b*bs2=a=5 b=2 c=a+b*bfor k=1:3 eval(s2(k,:)enda=5b=2c=9,第三章 字 符 串,第二节 单元数组的建立,1、单元数组(Cell Array)可以看作为一种特殊的矩阵,其基本特征有:,一、单元(元胞)数组的建立,矩阵中每个元素是单元,每个单元在数组中是平等的。单元中可以存放常数、字符串、矩阵等数据。单元数组中各单元的数据类型可以不同。其定义需用大括号,元素间用逗号隔开。单元数组的维数不受限制。2、单元数组的建立 元素赋值创建:A(m,n)=or Am,n=数组赋值创建:A=调用函数创建:cell(m,n,p,)or cell(m,n,p,)3、单元数组的标识 A(m,n)该元素的数据类型 Am,n该元素的具体内容,一、单元数组的建立,方法一:元素赋值创建:A(m,n)=or Am,n=,A(1,1)=MATLAB;A(1,2)=7.0;A(2,1)=矩阵;A(2,2)=1 2 3;4 5 6;7 8 9;,AA=MATLAB 7.0 矩阵 3x3 double,A1,1=MATLAB;A1,2=7.0;A2,1=矩阵;A2,2=1 2 3;4 5 6;7 8 9;,AA=MATLAB 7.0 矩阵 3x3 double,元素访问:,A(2,2)ans=3x3 double,A2,2ans=1 2 3 4 5 6 7 8 9,一、单元数组的建立,方法二:数组赋值创建:A=,A=矩阵 6.5 1 2 3;23 1 4;5 6,8A=矩阵 6.5 3x3 double,B(2,3)=A(3)B=3x3 double,一、单元数组的建立,方法三:调用函数创建:cell(m,n,p,)or cell(m,n,p,),利用cell函数为元胞数组预留空间(1)cell(n)创建一个nn的空元胞数组(2)cell(m,n)or cell(m n)创建一个mn的空元胞数组(3)cell(m,n,p,)or cell(m n p)创建一个mnp的空元胞数组(4)cell(size(A)创建一个与数组A相同大小的空元胞数组,一、单元数组的建立,方法三:调用函数创建:cell(m,n,p,)or cell(m,n,p,),C=cell(3,3)C=,C(1,1)=The great wall;C(1,2)=The summer palace;C(2,1)=1 2;2 1;C(3,2)=celldisp;C(3,3)=cellplot,C=The great wall The summer palace 2x2 double celldisp cellplot,二、单元数组的显示,若单元数组中某个元素的内容较多,则一般采用压缩的形式显示,即只显示单元的数据类型,若需要查看具体内容,则可以调用celldisp和cellplot函数进行具体内容的显示。,C=The great wall The summer palace 2x2 double celldisp cellplot,celldisp(C)cellplot(C),三、单元数组的操作,单元数组的拼装,C_str=char(这是,元胞数组创建算例 1);R=reshape(1:9,3,3);Cn=1+2i;S=sin(-3*t)*exp(-t);A(1,1)=C_str;A(1,2)=R;A(2,1)=Cn;A(2,2)=S;AA=2x10 char 3x3 double 1.0000+2.0000i sin(-3*t)*exp(-t),C=cell(2);C(:,1)=char(Another,text string);10:-1:1C=2x11 char 1x10 double,AC=A C A_C=A;C,三、单元数组的操作,单元数组的收缩、重组和内容提取,A_C(3,:)=A_C=2x10 char 3x3 double 1.0000+2.0000i sin(-3*t)*exp(-t)1x10 double,R_A_C=reshape(A_C,2,3)R_A_C=2x10 char 1x10 double sin(-3*t)*exp(-t)1.0000+2.0000i 3x3 double,f3=R_A_C1,1(:,1 2 5 6)f3=这是 元胞创建,第三章 字 符 串,第三节 结构数组的建立,结构(构架)数组:与单元数组一样,也能在一个数组里存放各类数据。从一定意义上讲,结构数组组织数据的能力比单元数组更强、更富于变化。结构数组的基本组分是结构(Structure)。数组中的每个结构是平等的,它们以下标区分。结构必须在划分域(Fields,字段)后才能使用。数据不能直接存放于结构中,而只能存放在域(字段)中。结构的域可存放任何类型、任何大小的数组(如任意维数值数组、字符串数组、符号对象等)。而且,不同结构的同名域(字段)中存放的内容可以不同。结构(构架)数组的维数不受限制。,一、结构数组的特点,方法一:直接创建结构变量,结构名和域之间用点连接,可含有子域。student.name=张三;student.class=二班=5然后可以将其动态扩充为数组:student(2).name=李四;student(2).class=一班 student(2).class.group=3在任何需要的时候,也可以为数组动态扩充字段,如增加字段sex:student(1).sex=female;这样,所有student都增加了一个sex字段,而student(1)之外的其他变量的sex字段为空。,二、结构数组的建立,应该注意的是,student的name、class、sex字段不一定是单个数据类型,它们可以是任意数据类型,可以是矩阵、字符串甚至是其他结构变量或单元数组,而且不同字段之间其数据类型不需要相同。数组中不同元素的同一字段的数据类型也不要求一样:student(1).class=二班 student(2).class=3,二、结构数组的建立,方法二:利用struct函数创建,使用struct函数也可以创建结构,该函数产生或把其他形式的数据转换为结构数组。struct的使用格式为:s=struct(field1,value1,field2,value2,),二、结构数组的建立,该函数将生成一个具有指定字段名和相应数据的结构数组,若数组中包含多个结构域,各个结构域中的数据又不尽相同,则域的数据value必须是单元数组,且生成的结构数组的维数与单元数组的维数相同。而在数据中不包含元胞的时候,得到的结构数组的维数是11的。例如:s=struct(type,big,little,color,blue,red,x,3,4)s=1x2 struct array with fields:type color x,s(1,1)ans=type:big color:blue x:3,预分配结构数组的三种方法,使用“.”符号获取 stu=student(1).name利用getfield获取结构数组的数据 getfield(array,array_index,field,field_index)sex=getfield(student,1,sex)利用setfield设置结构数组的数据 new_structure=setfield(array,array_index,field,field_index,V)stu1=setfield(student,1,sex,male),三、结构数组的获取和设置,使用fieldnames获取结构数组的所有域 x=fieldnames(student)获取结构数组域的数据 使用“”合并相同域的数据并排成水平向量 names=student.name;,三、结构数组域的获取,增加结构字段 只要为一个结构数组中的任何一个结构增加就可以了从结构中删除字段s=rmfield(s,field):从数组s中删除指定的字段 s=rmfield(student,name)s=rmfield(s,FIELDS):删除多个字段,FIELDS是多个字段名的字符数组或字符元胞数组 s=rmfield(student,name,sex),四、增加和删除结构字段,

    注意事项

    本文(《字符串运算》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开