MATLAB提供了大量的字符串函数,包括列在表6.3当中的。

表6.3

字 符 串 函 数

eval(string)

作为一个MATLAB命令求字符串的值

eval(try,catch)

blanks(n)

返回一个n个零或空格的字符串

deblank

去掉字符串中后拖的空格

feval

求由字符串给定的函数值

findstr

从一个字符串内找出字符串

isletter

字母存在时返回真值

isspace

空格字符存在时返回真值

isstr

输入是一个字符串,返回真值

lasterr

返回上一个所产生MATLAB错误的字符串

strcmp

字符串相同,返回真值

strrep

用一个字符串替换另一个字符串

strtok

在一个字符串里找出第一个标记

列在上面的第一个函数eval给MATLAB提供宏的能力。其中,该函数提供了将用户创建的函数名传给其它函数能力,以便求值。它的应用例子包括:

a=eval(' sqrt(2) ')

a =

1.4142

eval(' a=sqrt(2) ')

a =

1.4142

上面的例子演示了函数eval。显然,它们不是计算2的平方根的最简单方法。当被求值的字符串是由子字符串连接而成,或将字符串传给一个函数以求值时,eval非常有用。说明这种用途例子本书的以后会提及。

如果字符串传递到eval不能被辨认,MATLAB提供下列语法:

eval(' a=sqrtt(2) ',' a=[ ] ')

a =

[ ]

这里第二个参量被执行。由于第一个参量有误,即sqrtt不是一个有效的MATLAB函数。这种形式经常被描述为eval(try,catch)。

函数feval与eval类似,但在用法上有更多的限制。feval(' fun ',x)求由字符串' fun '给定的函数值,其输入参量是变量x。即feval(' fun ',x)等价于求fun(x)值。例如,

a=feval(' sqrt ' ,2)

a =

1.4142

函数eval,feval的基本用途限在用户创建的函数内。一般地,feval可求出有大量输入参量的函数值,例如,feval(' fun ', x, y, z) 等价于求fun(x, y, z)值。

列在上面表中的许多字符串函数提供了基本的字符串语法分析能力。例如,findstr返回一个在另一个字符串内字符串的起始下标值。

b=' Peter Piper picked a peck of pickled peppers ' ;

findstr(b,' ')   % find space

ans =

6    12    19    21    26    29    37

findstr(b,' p ')   % find the letter p

ans =

9    13    22    30    38    40    41

find(b= = ' p ')   % for single character searches the find command works too

ans =

9    13    22    30    38    40    41

findstr(b, ' cow ')   % find the word cow

ans =

[ ]

findstr(b,' pick ')     % find the string pick

ans =

13    30

注意这个函数对大小写是敏感的,当不匹配时,返回空矩阵。findstr对字符串矩阵不起作用。

strrep(b, ' p ', ' P ')      % capitalize all p ' s

ans =

Peter PiPer Picked a Peck of Pickled PePPers

strrep(b, ' Peter ', ' Pamela ')    % change Peter to Pamela

ans =

Pamela Piper picked a peck of pickled peppers

正如上面所看到的,strrep执行简单的字符串替代。strrep对字符串矩阵不起作用。

函数strtok找出由特定字符指定的字符串内的标记,空格是缺省限定字符。例如,

disp(b)

Peter Piper picked a peck of pickled peppers

strtok(b)    % find first token in above string separated by whitespace

ans =

Peter

[c, r]=strtok(b)    % return the remainder of the string array in r

c =

Peter

r =

Piper picked a peck of pickled peppers

[d,s]=strtok(r) %find the next token by using the previous remainder

d =

Piper

s =

picked a peck of pickled peppers

用空格作为限定符,strtok找出在数组中的单词。strtok对字符串矩阵不起作用。

[d, s]=strtok(b, ' pP ') %let delimiter be lower or upper case P

d =

eter

s =

Piper picked a peck of pickled peppers

如果提供一个可选的字符串,它的字符是限定符。注意在标记里,不返回限定符,但返回所有限定符之前的字符。也就是,在上面的字符串d = eter末端有一个空格。

matlab输入字符串函数,MATLAB字符串函数相关推荐

  1. MATLAB输入x标签,matlab中xlabel,ylabel,legend和text函数中使用latex

    Matlab中巧用LaTex众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片,图片的title或者legend最好有相应的说明,经常用到公式,比方说α,β ...

  2. matlab输入多项式 教程,MATLAB多项式 - Matlab教程

    MATLAB多项式 - Matlab教程 MATLAB指多项式行向量系数降幂排序.例如,方程 P(x) = x4 + 7x3 - 5x + 9 可以表示为: p = [1 7 0 -5 9]; 计算多 ...

  3. matlab 输入普朗克常量,利用matlab和excel进行光电效应测普朗克常量实验中的数据处理...

    利用matlab和excel进行光电效应测普朗克常量实验中的数据处理 利用MATLAB和EXCEL 进行光电效应测普朗克常量实验中的数据处理 (东南大学 学院 南京211189) 摘要:本文回顾了光电 ...

  4. MATLAB输入排序代码,matlab快速排序算法实现

    只有C中的qsort存在,调用比较麻烦,其实在数据结构中,快速排序法是经典排序之一,上网搜了一下简介,把对应的VC程序改了一下,做成了下面的matlab代码: %  快速排序法 %  基本的思想:通过 ...

  5. Matlab 手动实现plot——输入参数数可变的函数

    Matlab 输入参数数可变的函数 varargin 是函数定义语句中的一个输入变量,允许函数接受任意数量的输入参数. 在执行函数时,varargin 是一个 1 × N 1×N 1×N 元胞数组,其 ...

  6. Matlab中字符串表示、字符串矩阵、字符串中的常用函数

    字符串表示 类似于字符数组,不过Matlab中字符串是用单引号括起来的字符序列.也是以ASCII码形式存储. >> str='LuYihang'; >> str(3:6) an ...

  7. matlab 字符串 匹配,matlab中字符串匹配函数

    MATLAB字符串匹配函数中,应用较多的有:findstr.strfind.strmatch.strcmp.strmcmp.这里我们大致列举这些函数的区别与联系 在Matlab中,这几个函数区分如下: ...

  8. Matlab学习第一天(注释、输入输出、清空工作区、清屏、向量矩阵表示和运算、字符串、求和求积函数、等差数列、特征值、判断语句、循环语句)

    % 1.分号的使用:每一行的语句最后可以选择性地加上分号,加上分号后不显示运行结果(因此大部分语句加上分号),否则显示运行结果a=3;b=5% 2.注释的使用:用百分号表示注释,多行注释快捷键为Ctr ...

  9. matlab input怎么用,MATLAB如何使用input函数接受用户的键盘输入

    MATLAB如何使用input函数接受用户的键盘输入 [语法说明] eval=input(prompt):接受用户的键盘输入,并赋值给eval.字符串prompt为提示符,假设用户在提示符后输入的值为 ...

最新文章

  1. ORM映射框架总结--数据操作(五)
  2. linux tftp上传文件失败的原因
  3. personal-index 我的个人主页的介绍
  4. TreeView获取目录下的所有文件
  5. Boost库实现线程池学习及线程实现的异步调用
  6. mutex的加锁与解锁问题
  7. LINUX脚本报错捕捉,Linux01-BASH脚本编程之信号捕捉及任务计划53
  8. 单片机 串口 波特率 c语言 9600 11.0592mhz t1,C51语言编程:单片机与 PC 串口通信程序...
  9. 读Pyqt4教程,带你入门Pyqt4 _007
  10. NSString中如何正确判断包含一个变量字串NSString
  11. 漫画微信小程序源码 全开源 商业版
  12. Python生成图文并茂的PDF报告
  13. SVD专题1 算子的奇异值分解——矩阵形式的推导
  14. 区块链开发入门到精通
  15. 水星怎么设置网速最快_水星无线路由器怎么设置网速限制【设置方法】
  16. 转(Google 全国 地图 纠偏数据 偏移数据 火星坐标修正 方案 )
  17. 海外怎么用网易云听歌,网易云音乐国外用不了怎么办
  18. nginx设置域名跳转另一个域名
  19. Power and Modulo(思维)
  20. matlab中最好用的滤波函数,谁有matlab滤波器设计实例,想找个参考,最好是hamming窗,低通 fir滤波器。...

热门文章

  1. 闭环步进电机和伺服电机的区别
  2. Linux之分区【详细总结】
  3. JavaFX --- BMI计算器
  4. Python selenium实现微博自动登录
  5. 惠普电脑u盘重装系统步骤_惠普U盘重装,惠普电脑U盘一键重装系统方法
  6. 每日一书丨俞志宏:我在硅谷管芯片
  7. asymptote 中使用中文
  8. 计算机专业毕业实习重要吗?计算机专业实习方向
  9. 用python可以做什么有趣的事作文_Python还能做这么有趣的事情!
  10. VC添加ESXi异常datacenter.queryconnectioninfo