matlab字符串操作总结

字符串操作总结

char(S1,S2,…)
利用给定的字符串或单元数组创建字符数组
double(S)
将字符串转化成ASC码形式
cellstr(S)
利用的给定的字符数组创建字符串单元数组
blanks(n)
生成一个由n个空格组成的字符串
deblank(S)
删除尾部的空格
eval_r(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种查找S2
strjust(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)
按照指定的控制格式读取字符串
C{3}对内容进行寻址
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 =
11           28
   >> 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:2
B =
    -2    -1     0     1     2
>> x=sin(B)./B
Warning: Divide by zero.
x =
    0.4546    0.8415       NaN    0.8415    0.4546
>> B=B+(B==0)*eps
B =
   -2.0000   -1.0000    0.0000    1.0000    2.0000
>> x=sin(B)./B
x =
    0.4546    0.8415    1.0000    0.8415    0.4546
(26)流程控制
switch expression
case test_expression
  (commands1)
case test_expression
  (commands2)
case test_expression
  (commands3)
..
end
try
(commands1)
catch
(command2)
end
在这里,将(commands1)中的命令都执行,如果没有错误,程序控制将直接跳到end。如果哟错误,程序控制酒立即跳到catch语句。执行表达式(commands2).
利用lasterr函数可以返回代码执行遇到的河中错误:
>> matlab(:)
??? Undefined function or variable “matlab”.
>> lasterr
ans =
Undefined function or variable “matlab”.
另外利用lasterror可以将更详细的错误信息返回到一个结构体中:
>> errstr=lasterror
errstr =
       message: ‘Undefined function or variable “matlab”.’
    identifier: ‘MATLAB:UndefinedFunction’
         stack: [0×1 struct]
>> errstr.message
ans =
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)-6
inline函数从一个字符串创建一个函数,并以x为输入变量。
要验证一个字符串表示的函数或者内联函数,可以使用feval函数。
>> z=feval_r(’sin’,pi*(0:4)/4)
z =
         0    0.7071    1.0000    0.7071    0.000
>> z=feval_r(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)-6
af_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 @cos}
fhan =
    @sin    @cos
>> fhan{1}(1:2)
ans =
0.8415          0.9093
str2func()
func2str()
(32) 嵌套函数
如果一个函数包含嵌套函数,则无论是嵌套函数还是住函数,都必须以end结尾:
嵌套函数与子函数的区别:
嵌套出现在主函数声明之后的任意位置,而子函数只能出现在主函数之后。
嵌套可以访问主函数工作区中的任何变量值,而子函数只能通过参数访问主函数工作区的某些变量。
主函数可以访问嵌套函数工作区中的所有变量,而只能够通过子函数的输出访问子函数工作区的某些变量
(33)m文件的调试和剖析
keyboard 
mlint
depfun
利用profile可以剖析程序的效率
一种办法:直接打开profile,另外一种办法利用如此下代码:
>> profile on
>> for i=1:100
test(1:100);
end
profile viewer
(34)Matlab数据文件
save and load
save var1 var2 var3
save filename var1 var2
save(‘filename’,’var1’,’var2’,…)
load功能和save相反
vnew=load(‘filename’,’var1’,’var2’)  将变量存在vnew结构体中。
fprintf
>> a=[1 2 3;4 5 6;7 8 9]
a =
     1     2     3
     4     5     6
     7     8     9
>>fid = fopen('exp.txt','w');
  fprintf(fid,'%2.0f\n',a);
  fclose(fid);

>> type exp.txt

1
4
7
2
5
8
3
6
9
fprintf输出是一列一列的从左到右输出。
>> dlmwrite('eg2.dat',a,'\n');
>> type eg2.dat
1
2
3
4
5
6
7
8
9
fprintf输出是一行一行的从上到下输出。
文件的读和写
clc
clear all
fid1 = fopen('F:\example\1.txt','r');
a=fgetl(fid1);
fclose(fid1);
fid2 = fopen('F:\example\2.txt','a');
fprintf(fid2,'%s\n',a);
fclose(fid2);
type F:\example\2.txt%显示文本的内容
fprintf(fid,'%s\r\n',x); %的情况下就可以把数据输出的文件并且换行

matlab字符串操作总结的更多相关文章

  1. matlab字符串操作

    字符串转换函数 abs        字符串到ASCII转换dec2hex        十进制数到十六进制字符串转换fprintf        把格式化的文本写到文件中或显示屏上hex2dec   ...

  2. matlab学习笔记10_5 通用字符串操作和比较函数

    一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张 ...

  3. Matlab文件操作

    1.  Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件. 2.  fid=fopen(文件名,打开方式) 'r' 只读,文件必须存在(缺省的打开方式) 'w' ...

  4. MATLAB串口操作和GUI编程

    程序说明 V1.0 2015/2/08 MATLAB串口操作和GUI编程   概述   本文介绍了程序AD9512_Serial_GUI的编程思路和功能.该程序设计到MATLAB的图像用户界面编程的基 ...

  5. MATLAB矩阵操作大全

    转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...

  6. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  7. shell编程常用的截取字符串操作

    1.          常用的字符串操作 1.1.           替换字符串:$ echo ${var/ /_}#支持正怎表达式 / /表示搜索到第一个替换,// /表示搜索到的结果全部替换. ...

  8. php字符串操作集锦

    web操作, 主要就是对字符文本信息进行处理, 所以, 字符串操作几乎占了很大一部分的php操作.包括 注意strstr 和 strtr的区别? 前者表示字符串查找返回字符串,后者表示字符串中字符替换 ...

  9. java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

随机推荐

  1. 第六篇、抽屉效果+UITabBarController(主流框架)

    依赖于第三方的框架RESideMenu 1.AppDelegate.m中的实现 - (BOOL)application:(UIApplication *)application didFinishLa ...

  2. Xcode7,消失的pin菜单(Editor->pin)

    用过autolayout的对pin都应该不陌生,通过这个选项可以设置控件的四周的外边距:Top Space.Leading Space.Trailing Space.Bottom Space. 在Xc ...

  3. Floyd最短路径算法

    看完这篇文章写的小程序,Floyd最短路径算法,求从一个点到另一个点的最短距离,中间可以经过其他任意个点.三个for循环,从i到j依次经过k的最短距离,最外层for循环是经过点K,内部两个循环是从i( ...

  4. HTML5标准终于来了,看什么书学习最好??????

    最近看了一本书<HTML5网页开发实例详解>,是大众点评的攻城狮写的,觉得很有收获,看样子目前大多数的国内网页都支持HTML5了,全栈工程师是不是必须得会HTML5? 有兴趣的可以讨论呀, ...

  5. ZigBee协议基本介绍

    ZigBee是一种短距离(10~100米).低速率(20~250Kbps).底成本.低功耗的无线网络技术,主要用于近离无线通讯.能够做到在数千个微小的传感器之间相互协调实现通讯,这些传感器只需要很少的 ...

  6. BMP文件格式分析

    前两天要做一个读取bmp文件的小程序,顺便查找了一些关于BMP格式的文章,现在post上来. 简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运 ...

  7. windows内存映射学习及帮助类实现

    本文通过创建文件内存映射类,学习windows内存映射相关知识:创建内存映射文件后,可以按照内存操作方式操作文件:支持32位程序处理超过4G大小的文件. 感谢http://blog.csdn.net/ ...

  8. OSX 上初步尝试 asp.net 5

    去年微软最令开源狗界振奋的消息就是 ASP.NET 的开放与开源这一消息了. 根据微软的介绍,与我之前的一些总结,可以看到 ASP.NET 以及 .NET 平台会有下面几个变化: 代码使用 Apach ...

  9. TortoiseGit 安装和使用的图文教程

    TortoiseGit.SourceTree都是Windows下不错的Git客户端工具,下面介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要两个软件:Torto ...

  10. 基于lnmp.org的xdebug安装

    1. 下载xdebug wget http://xdebug.org/files/xdebug-2.3.3.tgz 2. 创建一个目录: mkdir ./xdebug 3. 复制xdebug包到xde ...