MATLAB软件中字符串符号

2020年10月30日15:58:39MATLAB软件中字符串符号已关闭评论

MATLAB软件中的字符串符号

在MATLAB中,要建立一个字符串变量,可以这样写:S='字符串',即用' '将输入的字符串括起来,注意:不是'' '',这与一些其他的高级语言不同。要建立一个字符串矩阵,则可以这样输入:

SA=['string11' 'string12' …

'string21' 'string22' …

'stringn1' 'stringn2' …]

与数组不同,字符串矩阵的每一行字符串元素的个数可以不同,但是每一行的所有字符串中字符的总个数必须相同,如果不满足这个条件,即使每行中字符串的个数相同,也会出错。事实上,MATLAB将一个行内的所有字符串都合并起来,构成一个字符串,单个字符串之间不加空格,这正是每行中输入的字符串的个数可以不相同的根本原因,例如,下面一段程序:

>> SA=['hello';'world';'我是李某某']

SA =

hello

world

我是李某某

利用这个特点,可以用[ ]将任意字符串连接起来。

将上例中SA的上下两行连接起来,可以这样操作:

>> [SA(1,:)SA(2,:)SA(3,:)]

ans =

helloworld我是李某某

S='任意字符串',是一个由字符的ASCII码组成的向量,而实际所显示的是由给定的字体经过编码后的字符,而不是一些数码,变量S的长度便是字符串中的字符的个数。由于MATLAB中' '是标识字符串的特殊字符,因而要在字符串中输入' '必须通过2个' '来表示,而'' ''可以直接输入,例如,下面一段程序:

>> s='hello world'

s =

hello world

注意:MATLAB将字符串当作一个行向量,每个元素对应一个字符;也就是将字符串保存在一个行向量中,向量的每个元素对应一个字符。

>> size(s)

ans =

1 11

例2.24 用whos命令查看字符串属性。

>> whos

Name  Size   Bytes Class

SA  2x16    64 char

ans  1x2    16 double

area  1x1    8 double

c  1x10    20 char

d  1x18    36 char

s  1x11    22 char

>> class(s)

ans =

char

>> c='It''s a dog'  %字符串内为两个',而不是''

c =

It's a dog

>> d='She said:"I am OK"' %字符串内为两个'',而不是两个'

d =

She said:"I am OK"

注意:MATLAB在处理字符串矩阵时是把它当作数据矩阵来处理的,字符串的每个字符都是矩阵的每个元素,这样字符串矩阵也应当满足数据矩阵的所有条件,即要求每行的元素个数必须相同,上下两行的字符总数必须相同。

字符串标识方法和数值向量或矩阵相同。也就是可以对元素进行提取或重新赋值的操作,例如,下面一段程序:

>> s1='My name is 李某某'

s1 =

My name is 李某某

>> s1(12)

ans =

>> s2=s1(end:-1:1)

s2 =

某某李 si eman yM

字符串及字符串矩阵可以进行加、减、乘、除四则运算和其他的数学运算。由于MATLAB是将字符串及字符串矩阵当作数据矩阵来处理的,因而在进行这些运算时,实际上是由字符串的各个字符的ASCII码组成的数据矩阵之间的数学运算。下面介绍一下字符串操作的函数。通常可以打印的字符的ASCII码在32~

>> 'a'+'b'

ans =

195

>> 'a'*'b'

ans =

9506

其中:

>> abs('a')

ans =

97

>> abs('b')

ans =

98

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。