matlab中的字符串操作总结.doc_第1页
matlab中的字符串操作总结.doc_第2页
matlab中的字符串操作总结.doc_第3页
matlab中的字符串操作总结.doc_第4页
matlab中的字符串操作总结.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

字符串操作总结作者:晏江函数描述char(S1,S2,)利用给定的字符串或单元数组创建字符数组double(S)将字符串转化成ASC码形式cellstr(S)利用的给定的字符数组创建字符串单元数组blanks(n)生成一个由n个空格组成的字符串deblank(S)删除尾部的空格eval(S) evalc(S)使用MATLAB解释器求字符串表达式的值ischar(S)判断是不是字符串数组iscellstr(C)判断是不是字符串单元数组isletter(S)判断是不是字母isspace(s)判断是不是空格strcat(S1,S2,)将多个字符串水平竖直排列strvcat(S1,S2,)将多个字符串竖直排列strcmp(S1,S2)判断字符串是否相等strncmp(S1,S2,n)判断前n个字符串是否相等strcmpi(S1,S2)判断字符串是否相等(忽略大小写)strncmpi(S1,S2,n)判断前n个字符串是否相等(忽略大小写)strtrim(S1)删除结尾的空格findstr(S1,S2)查找strfind(S1,S2)在S1种查找S2strjust(S1,type)按照指定的type调整一个字符串数组strmatch(S1,S2)查找要求的字符串的下标strrep(S1,S2,S3)将字符串S1中出现的S2用S3代替strtok(S1,D)查找S1 中的第一个给定的分隔符之前和之后的字符串upper(S)将一个字符串成大写lower(S)将一个字符串转换为小写num2str(k)将数字转换成字符串int2str(k)将整数型转换为字符串mat2str(k)将矩阵转换为字符串,供eval使用str2double(S)将字符串数组转化为数值数组sprintf(S)创建含有指定格式的字符串sscanf(S)按照指定的控制格式读取字符串C3对内容进行寻址C(3)对单元索引(24)利用正在表达式搜索 str=asdfa sfdgdfg tyefgr tyj sdfg qwfge r rety yi .,m zxfgc fdgh fgh; regexp(str,fg)ans = 12 18 29 34 54 63我们可以使用字符类来匹配指定的字符,如一个字母,一个数字或一个空格符,也可以用来匹配一个字符集。最有用的一个字符类是一个句号(.),它用来表示任意的单个字符。另外一个有用的字符类是位于方括号中的字符序列或某一部分字符,这一语法用来表示寻找与方括号中任何一个字符元素匹配的字符串子集。例如:我们要在str中寻找第一个字符为d,最后一个字符为f或g的三个字符组合,可以使用下面的代码, regexpi(str,d.fg)ans =1128 regexpi(str,s.fg,match)列出来ans =sdf sdf regexp(str,a-d)ans = 1 3 5 9 11 28 56 59列出a-d所有(25) 关系运算:xor(x,y)异或关系any(X) X中有一个不为零,结果就为一all(X) X中只要有一个为零即为零。B=B+(B=0)*eps,这样可以避免零的出现 B=-2:2B = -2 -1 0 1 2 x=sin(B)./BWarning: Divide by zero.x = 0.4546 0.8415 NaN 0.8415 0.4546 B=B+(B=0)*epsB = -2.0000 -1.0000 0.0000 1.0000 2.0000 x=sin(B)./Bx = 0.4546 0.8415 1.0000 0.8415 0.4546(26)流程控制switch expressioncase test_expression (commands1)case test_expression (commands2)case test_expression (commands3).endtry(commands1)catch(command2)end在这里,将(commands1)中的命令都执行,如果没有错误,程序控制将直接跳到end。如果哟错误,程序控制酒立即跳到catch语句。执行表达式(commands2).利用lasterr函数可以返回代码执行遇到的河中错误: matlab(:)? Undefined function or variable “matlab”. lasterrans =Undefined function or variable “matlab”.另外利用lasterror可以将更详细的错误信息返回到一个结构体中: errstr=lasterrorerrstr = message: Undefined function or variable “matlab”. identifier: MATLAB:UndefinedFunction stack: 01 struct errstr.messageans =Undefined function or variable “matlab”.(27)函数error(afgfadgsdf)终止程序,并且返回括号中的内容error和fprintf一样可以在字符串中格式化显示的数字变量warning()一样的 只是程序继续运行。pcode myfunction其中myfunction是要编译的m文件,利用这个命令可以创建伪码文件,提高运行速度。(28)创建用户自己的工具箱当一个工程鳊好之后,我们可以把它存在toolbox文件夹中,这样matlab就可以把它这些文件再如到高速缓存区去,提高速度。为了便于文件的管理,和日后的维护,我们最好添加两个脚本文件:Readme.m和Contents.m这两个文件不执行任何操作,而全部由一些注释行组成。(29)getpref 获取 setpref 设置, addpref 添加 rmpref 删除, ispref, uigetpref, uisetpref 工具箱或者函数的优先权(30)创建命令:看一下edit命令就知道了。(31) 函数句柄和匿名函数: il_humps=inline(1./(x-.3).2+.01)+1./(x-.9).2+.04)-6,x)il_humps = Inline function: il_humps(x) = 1./(x-.3).2+.01)+1./(x-.9).2+.04)-6inline函数从一个字符串创建一个函数,并以x为输入变量。要验证一个字符串表示的函数或者内联函数,可以使用feval函数。 z=feval(sin,pi*(0:4)/4)z = 0 0.7071 1.0000 0.7071 0.000 z=feval(il_humps,-1 0 1)z = -5.1378 5.1765 16.0000下面创建一个匿名函数: af_humps=(x)1./(x-.3).2+.01)+1./(x-.9).2+.04)-6af_humps = (x) 1./(x-.3).2+.01)+1./(x-.9).2+.04)-6 af_humps(-1:1)ans = -5.1378 5.1765 16.0000 a=1;b=2; asda=(x) sin(a*x).*cos(b*x); asda(-1:1)ans = 0.3502 0 -0.3502 fhan=sin cosfhan = sin cos fhan1(1:2)ans =0.84150.9093str2func()func2str()(32)嵌套函数如果一个函数包含嵌套函数,则无论是嵌套函数还是住函数,都必须以end结尾:嵌套函数与子函数的区别:嵌套出现在主函数声明之后的任意位置,而子函数只能出现在主函数之后。嵌套可以访问主函数工作区中的任何变量值,而子函数只能通过参数访问主函数工作区的某些变量。主函数可以访问嵌套函数工作区中的所有变量,而只能够通过子函数的输出访问子函数工作区的某些变量(33)m文件的调试和剖析keyboardmlintdepfun利用profile可以剖析程序的效率一种办法:直接打开profile,另外一种办法利用如此下代码: profile on for i=1:100test(1:100);endprofile viewer(34)Matlab数据文件save and loadsave var1 var2 var3save filename var1 var2save(filename,var1,var2,)load功能和save相反vnew=load(filename,var1,var2) 将变量存在vnew结构体中。fprintf a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9fid = fopen(exp.txt,w); fprintf(fid,%2.0fn,a); fclose(fid); type exp.txt147258369fprintf输出是一列一列的从左到右输出。 dlmwrite(eg2.dat,a,n); type eg2.dat123456789fprintf输出是一行一行的从上到下输出。文件的读和写cl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论