字符串操作总结

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种查找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(’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)-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的输入字符串接收,matlab字符串操作总结相关推荐

  1. matlab怎么输入一个数,matlab输入10个数

    第十讲 数据类型.控制语句.M文件 1 5.1 MATLAB数据类型 5.1.1 数字型数据 8位符号型整数,它表示-128~128之间的整数 16位符号整型,它表示-32768~32767之间的整数 ...

  2. matlab function输入,怎样在matlab function模块中实现多输入

    m文件对simulink的连接bai:1.在m文件du中首先打开zhimdl文件,用open_system('model'):2.现在可以在m文件中用daoset_param()和get_param( ...

  3. matlab如何输入较长的字符串;matlab字符串换行

    有时候matlab输入的字符串较长,一行放不下,这时采用传统的-已经不管用了. 新方法如下: 用中括号[ ],每一行用一个单引号括起来,除最后一行外每一行的行尾用- 例子如下: headers = [ ...

  4. matlab中输入数学符号,matlab中特殊符号的写法

    别的地方看到,转贴过来.平时也经常用到. 上标用 ^(指数) 下标用 _(下划线) 调用方式为: ^{任意字符}, _{任意字符}, 注意{}的使用! 希腊字母等特殊字符用 \加拼音 如: α \al ...

  5. 【MATLAB】输入命令(matlab实用小技巧)

    文章目录 输入命令 format 函数 取消输出 输入长语句 命令行编辑 输入命令 format 函数 format 函数控制所显示的值的数值格式.此函数仅影响数字显示方式,而不会影响 MATLAB® ...

  6. matlab怎么输入列表,在MATLAB中具有灵活的有序/无序和标记/未标记输入列表的函数...

    InputParser类解决了所有这些问题.您可以指定任意数量的: >必需参数(有序,无标签) >可选参数(有序,无标签) >任何顺序的字符串参数 – 值对(无序,标记) MathW ...

  7. matlab中输入数学字母,Matlab希腊字母和数学符号

    在所有的Matlab Figure里都可以使用大量的Tex代码来输入公式.数学符号等.而且,与Word2007类似,都能够写完立马显示,不对的话可以迅速更正.很好! 下面是Matlab官方列出来的Te ...

  8. matlab怎么输入积分公式,在matlab下用梯形法求函数的积分

    函数是网上看到的,加上了一点我自己的理解 %用来就数值积分 %fx是由syms定义的函数表达式 function Trapezia(a,b,fx,E,Nfprintf('\n***********st ...

  9. matlab怎么输入sin,在 MATLAB命令窗口中输入:a=sin(pi/7);save a,则下列论述中正确的是:...

    品类管理的核心是以消费者为导向,以数据为基础.() 法的历史类型更替的途径是() 在制定绩效考核标准时应从客观.公正的原则出发 ,坚持定量与定性相结合 .同时尽可能多的采取可以量化的指标以减少个人主观 ...

最新文章

  1. Hadoop的HA机制原理解析,与HA高可用集群环境搭建
  2. 使用 WebIDE 三分钟上手函数计算
  3. session和Cookie的区别
  4. Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)
  5. Linux Platform Device and Driver
  6. JDBC之在分层结构中实现业务
  7. LeetCode-726. 原子的数量(python2)
  8. 【LeetCode】732. 我的日程安排表 III
  9. cuSPARSE库:(四)不同矩阵格式在内存中的存储方式
  10. 技术人员如何持续不断的成长?
  11. kali linux 模板文件夹,详解kali linux 常用文件与指令路径
  12. opencv 编译静态库
  13. 2022 最新 Kafka 面试题
  14. 从阿里投资B站看动漫IP,二次元市场蕴含了怎样的价值?
  15. c++删除字符串特殊符号
  16. python股票行情接口实时获取股市数据
  17. linux内核tcp_hdr,TCP的URG标志和内核实现
  18. 【视频行为识别4】I3D:Two-Stream Inflated 3D ConvNets —CVPR2017
  19. 支付宝小程序对接流量位详细教程
  20. 地表反射率影响因素_地理简答题气候因素

热门文章

  1. 移动开发:Android Ant一键自动打多渠道包
  2. MATLAB机器人工具箱6轴机械臂DH建模仿真
  3. Javascript之傻傻理不清的原型链、prototype、__proto__
  4. pandas 读取的数据少了一行
  5. 上海迪士尼乐园史上最强游玩攻略
  6. 每个成功的奥特曼背后都有一个默默挨打的小怪兽
  7. PTA 悄悄关注 (25 分)
  8. buuctf-had a bad day
  9. 如何用按键精灵录制功能快速制作脚本
  10. JDK基础脚本工具总结