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的输入字符串接收,matlab字符串操作总结

    字符串操作总结 char(S1,S2,-) 利用给定的字符串或单元数组创建字符数组 double(S) 将字符串转化成ASC码形式 cellstr(S) 利用的给定的字符数组创建字符串单元数组 bla ...

  2. matlab 读指定字符,Matlab 文件读写(I/O)和字符串操作常用命令

    可以通过一个函数或脚本名称得到它的完整路径,同时还能处理函数重载的情况, 例如: >> which abs(0) C:\MATLAB7\toolbox\matlab\elfun\@doub ...

  3. matlab字符衔接,matlab字符串连接(多个字符串)的经验,matlab字符串

    matlab字符串连接(多个字符串)的经验,matlab字符串 参考 matlab中字符串连接的3种方法  文章,实验遇到的一些小白问题,如有问题希望大神们给予指导. Matlab中,两个或多个字符串 ...

  4. Matlab 字符串比较

    http://www.cnblogs.com/anzhiwu815/p/5885097.html Matlab的优势在于向量操作,字符串操作往往费时费力,但是如果能充分利用Matlab自带的一些函数, ...

  5. matlab编写文件格式,MATLAB程序设计教程(4)——MATLAB文件操作

    MATLAB程序设计教程(4)--MATLAB文件操作 第4章MATLAB文件操作 4.1 文件的打开与关闭 4.2  文件的读写操作 4.3  数据文件定位 4.1 文件的打开与关闭 4.1.1 文 ...

  6. matlab二进制操作,[转载]Matlab二进制类型数据相关操作

    Matlab逻辑运算 &: 逻辑与 A&B 返回值:当A.B中元素均为非零元素是,返回1,否则,为0,还可表示成and(a,b); | :逻辑或 A|B.还可以表示成or(A,B). ...

  7. matlab字符串元胞数组,MATLAB字符串数组元胞数组和构架数组

    第三章MATLAB字符串数组.元 胞数组和构架数组 3.1字符串数组 3.1.1字符串入门 [例3.1-1]先请读者实际操作本例,以体会数值量与字符串的区别. clear a=12345.6789 c ...

  8. 数学建模速成! 两小时零基础入门 MATLAB 教程(一)—— Matlab常用操作和基本语法

    Matlab常用操作和基本语法 没有涉及到编程的内容, 就是介绍一些MATLAB软件的操作, 和简单的语法如注释输出之类的 目录 文章目录 Matlab常用操作和基本语法 1. help查看函数说明 ...

  9. MATLAB字符串学习笔记

    MATLAB字符串 在使用MATLAB时经常会遇到对字符或字符串的操作.本章将对MATL AB的字符串函数进行详细的介绍.字符串是指1X n的字符数组. 在MATLAB软件中提供了很多的字符或字符串操 ...

最新文章

  1. Nature替宠物正名了:宝宝身体好,猫狗或真不可少!
  2. 华为鸿蒙新概念机,华为P50概念机确认,麒麟芯片+鸿蒙系统,这才是真旗舰!...
  3. 四旋翼姿态解算——互补滤波算法及理论推导
  4. Altium designer中元器件库(SCHLIB)元件引脚上文字(标号)大小及距离边缘位置设置
  5. 什么是计算机网络中的主机?
  6. python库之matplotlib
  7. RESTful JSON Web服务最佳实践
  8. java 创建数组工具类_用Java创建数组工具类ArrayTool
  9. Linux 入门必备命令
  10. 别傻傻分不清docker run 和 start 的区别了
  11. 国内的知名产品及其开发语言v0.0.1
  12. 记录一下python爬虫手机app遇到的加密
  13. window下查看TCP端口连接情况:netstat -ano -p tcp|findstr 10001
  14. secureCRT安装、破解
  15. applicationContext.xml读取properties中属性
  16. 软件工程项目总结文档
  17. 钢管热处理市场现状研究分析-
  18. 百度地图电子围栏判断 地图定位
  19. 监控io性能、free、ps、查看网络状态和linux抓包工具
  20. RH124(6)----Linux系统中的权限管理

热门文章

  1. java皮肤_java程序的皮肤效果实现代码
  2. python AES加密解密
  3. python输出命令_Python 输出命令行进度条
  4. arcmap导出地图快捷键_谷歌点坐标导出为excel表格
  5. lisp编程 滑动轴承的auto_基于Visual Lisp的滑动轴承设计
  6. Python -- reload 函数
  7. 什么是浏览器同源策略?
  8. OpenCV学习笔记02:OpenCV基本图片处理
  9. 《天天数学》连载47:二月十六日
  10. 【BZOJ2324】营救皮卡丘,费用流