MATLAB基础操作7

您所在的位置:网站首页 matlab中提取矩阵的列 MATLAB基础操作7

MATLAB基础操作7

2023-07-11 07:21| 来源: 网络整理| 查看: 265

 字符串的表示

在MATLAB中,字符串是用单引号括起来的字符序列。MATLAB把一个字符串当作一个行向量,这个行向量中每一个元素对应一个字符,它的引用方法和数值向量相同。

>> name = 'HkSwaggyD'; >> name(1:2) ans = Hk

注意:如果字符串中的字符含有单引号,则该单引号字符要用两个单引号表示。

>> 'I''m HkSwaggyD' ans = I'm HkSwaggyD

除了一行字符串,MATLAB也支持建立多行字符串,形成字符串矩阵。此时要求各行字符数相等,即列数要相同。因此当各行字符数不相等时,需要用空格来调节各行的长度,使它们的列数彼此相同。

例:建立一个字符串向量,然后对该向量做如下处理:

① 取第1~5个字符组成的子字符串。

② 将字符串倒过来重新排列。

③ 将字符串中的小写字母变成相应的大写字母。

④ 统计字符串中小写字母个数。

>> ch = 'ABc123d4e56Fg9'; >> subch = ch(1: 5) %① subch = ABc12 >> revch = ch(end: -1: 1) %② revch = 9gF65e4d321cBA >> k = find(ch >= 'a' & ch < 'z') %③先找出小写字母位置 k = 3 7 9 13 >> ch(k) = ch(k) - 32 %小写字母对应的ASCII码要减32 ch = ABC123D4E56FG9 >> length(k) %④ ans = 4 字符串的操作

MATLAB本身提供了一些函数来完成字符串的操作。

字符串的执行 eval()函数

格式:                                                eval(字符串)

作用:把参数字符串中的内容作为对应的MATLAB命令来执行。

>> x = eval('[pi, sin(pi), cos(pi)]') x = 3.1416 0.0000 -1.0000 字符串与数值之间的转换

我们知道字符串是以ASCII码的形式存储的,abs()和double()函数都可以用来获取字符串矩阵对应的ASCII码矩阵,char()函数则把ASCII码矩阵转化为字符串矩阵。

字符串的比较

我们可以用关系运算符或字符串比较运算函数来进行字符串的比较。

关系运算符比较(当两个字符串长度相同时)

对两个字符串里的每一个字符依次按ASCII码大小逐一比较,比较结果是一个数值向量,元素由1或0构成,为对应两个字符串里字符比较的结果。

字符串比较函数(用于判断字符串是否相等)

strcmp(s1, s2):比较字符串s1和s2是否相等,如果相等,结果为1,否则为0。

strncmp(s1, s2, n):比较两个字符串前n个字符是否相等,如果相等,结果为1,否则为0。

strcmpi(s1, s2):在忽略字母大小写的前提下,比较字符串s1和s2是否相等,如果相等,结果为1,否则为0。

strncmpi(s1, s2, n):在忽略字母大小写的前提下,比较两个字符串前n个字符是否相等,如果相等,结果为1,否则为0。

字符串的查找与替换

findstr(s1, s2):返回短字符串在长字符串中的开始位置。

strrep(s1, s2, s3):将字符串s1中的所有子串s2替换为字符串s3。

>> c = 'This is a test.'; >> p = findstr('is', c) p = 3 6 >> r = strrep(c, 'test', 'class') r = This is a class. >>



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3