• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab学习笔记10_4MATLAB中的字符串表示

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一起来学matlab-字符串操作

10_4 MATLAB中的字符串表示

觉得有用的话,欢迎一起讨论相互学习~

参考书籍
《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷
《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效

MATLAB中的字符串符号

  • MATLAB将字符串当做一个行向量,每个元素对应一个字符;也就是将字符串保存在一个行向量中,向量的每个元素对应一个字符。
  • MATLAB中使用单引号将字符串扩起来,\'\' 注意不是双引号
  • 字符串矩阵的每一行字符串元素的个数可以不同,但是每一行中所有字符串中的总个数必须相同。
  • 每一行中字符串的计算只计算单引号扩起来的并且算空格的部分 括号之间的空格不一样
  • 事实上,MATLAB将行内的所有字符串都合并起来,构成一个字符串,单个字符串之间不加空格,这正是每行中输入的字符串个数可以不相同的根本原因
>> SA=[\'hello\';\'world\';\'我是许某某\']
SB=[\'你好\' \'但是我不好\' \'有没有想过你为什么不好\';\'那不知道你为什么不好啊\' \'那就是 命运吧\'] % 一行中的字符只算单引号中的,并且不计算单引号中的括号
SC=[\'hello\' \'nihao\';\'world\';\'我是许某某\'] % 两行的字符长度不同,所以会报错[1,10],[1,5],[1,5]

SA =

hello
world
我是许某某


SB =

你好但是我不好有没有想过你为什么不好
那不知道你为什么不好啊那就是 命运吧

串联的矩阵的维度不一致。

  • 利用这个特点,可以用[]将任意字符串连接起来
>> [SA(1,:) SA(2,:) SA(3,:)]

ans =

helloworld我是许某某
  • 对于\'也是可以标识特殊字符的标识,因此:

  • 字符串标识方法和数值向量或矩阵相同,也就是可以对元素进行提取或重新赋值的操作

>> s1=\'My name is limomo\'

s1 =

My name is limomo

>> s2=s1(1:end) % 是s1(1:1:end)的缩写,表示从头到尾进行取值,不间隔字符

s2 =

My name is limomo

>> s2=s1(1,:)

s2 =

My name is limomo

>> s2=s1(end:-1:1) % 是s1(end:-1:1,:)的缩写,表示从尾到头进行取值,不间隔字符

s2 =

omomil si eman yM
  • 字符串及字符串矩阵可以进行加、减、乘、除四则运算和其他的数学运算。由于MATLAB是将字符串及字符串矩阵当作数据矩阵来处理的,因而在进行这些运算时,实际上是由字符串的各个字符的ASCII码组成的数据矩阵之间的数学运算。通常可以打印的字符的ASCII码在32-127范围之间,同时任意8位二进制数的范围在0-255之间,如果数值不是正整数,或是超出了上面的范围,则实际上是打印出ASCII码为fix(rem(A,256))的字符.
\'a\'+\'b\'
ans=195
\'a\'*\'b\'
ans=9506
abs(\'a\')
ans=97
abs(\'b\')
ans=98

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi:TMemo垂直滚动条自动显示发布时间:2022-07-18
下一篇:
delphi 打印小票发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap