一起来学matlab-字符串操作

10_4 MATLAB中的字符串表示

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

参考书籍

《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

matlab学习笔记10_4MATLAB中的字符串表示的更多相关文章

  1. Android学习笔记----Java中的字符串比较

    用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: string str1 = "abcd", str2 = "abcd"; if(str1==str ...

  2. matlab学习笔记10_5 通用字符串操作和比较函数

    一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张 ...

  3. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  4. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  5. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  6. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  7. ArcGIS案例学习笔记-点集中最近点对和最远点对

    ArcGIS案例学习笔记-点集中最近点对和最远点对 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于点图层,查找最近的点对和最远的点对 数据: 方法: 1. ...

  8. matlab学习笔记---(1)

    Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...

  9. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

随机推荐

  1. 微信小程序转义解析渲染html

    今天开发小程序时,想调用商品详情字段,发现大部分是用编辑器编辑的html原生标签,无法在小程序直接使用. 后面自己使用正则和字符串替换,效果也不佳. 最后在网上找到了wx-mina-html-view ...

  2. php将原数组倒序array_reverse()

    1.数组倒序排列 $arr = array(1,2,3); $arr = array_reverse($arr); print_r($arr);

  3. Justice(HDU6557+2018年吉林站+二进制)

    题目链接 传送门 题意 给你\(n\)个数,每个数表示\(\frac{1}{2^{a_i}}\),要你把这\(n\)个数分为两堆,使得每堆的和都大于等于\(\frac{1}{2}\). 思路 首先我们 ...

  4. Python - 2和3的区别

    编码: Python2的默认编码是ASCII码,这是导致Python2中经常遇到编码问题的主要原因之一,至于原因,在于Python这门语言出现的时候,还没有Unicode! Python3默认编码是U ...

  5. 如果在使用谷歌的gson的时候,在返回时间类型的数据的时候,

    可能会出现在long类型的时间后面多3个0 如下图所示 可以自己创建一个json序列化的类 public class Date2LongSerializer extends JsonSerialize ...

  6. Beta冲刺(2/7)——2019.5.23

    所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(2/7)--2019.5.23 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...

  7. element ui 中的 resetFields() 报错'resetFields' of undefined

    每次做各种form表单时,首先要注意的是初始化,但是刚开始若没有仔细看文档,则会自己写个方法将数据设置为空,但是这样就会出现一个问题,表单内存在各种验证,假如是一个弹框内有form表单,弹框出现就执行 ...

  8. danci4

    advantage 英 [əd'vɑːntɪdʒ] 美 [əd'væntɪdʒ] n. 优势:利益:有利条件 vi. 获利 vt. 有利于:使处于优势 lack 英 [læk] 美 [læk] vt. ...

  9. python面试题&练习题之运算符与if控制

    1.任意的输入10个数字,按从大到小排序 l2 = [] for i in range(1,11): num = input('输入第{}个数字'.format(i)) if num.isdigit( ...

  10. Guava com.google.common.base.Stopwatch Spark程序在yarn中 MethodNotFound

    今天在公司提交一个Spark 读取hive中的数据,写入JanusGraph 的app,自己本地调试没有问题,放入环境中提交到yarn 中时,发现app 跑不起. yarn 中日志,也比较明显,app ...