Matlab快速入门之文本和字符

4.6
(5)

本文中,将会讲解Matlab中关于文本和字符的创建。其中,文本指的是字符串数组中的文本;字符指的是字符数组中的数据。文本,可以理解为字符串数组,一个字符串在Matlab中只占用一个元素位置,相当于一个字符串可以用一个1*1矩阵表示,这种方法是R2017a中引入的。字符指的是字符数组,字符在Matlab存放为一个数组,R2017a之前的版本只能用这种方法。

Matlab快速入门之文本和字符

而文本和字符的区别,一方面是引入方式不同,另一方面就是数据存放方式不同了。

更加详细的内容,相信可以在下面几个例子中发现。

字符串数组中的文本

当您处理文本时,将字符序列括在双引号中。可以将文本赋给变量。需要注意的是,如果你用的是Matlab R2017a之前的版本,不支持双引号输入字符串,报错信息如下:

>> t = "Hello, world";
 t = "Hello, world";
     ↑
错误: 输入字符不是 MATLAB 语句或表达式中的有效字符。

这种写法,会在Matlab R2017a之后的版本引入。因此,关于字符串数组中的文本这部分内容,Matlab R2017a之后的用户可以学习一下。之前的版本用户就不用参考了,可以看下一个版块的内容。

如果文本包含双引号,请在定义中使用两个双引号。

>> q = "Something ""quoted"" and something else."

q = 

    "Something "quoted" and something else."

与所有MATLAB®变量一样,tq为数组。它们的类或数据类型是string

>> whos t

  Name        Size            Bytes  Class     Attributes
  t           1x1               174  string   

使用双引号创建字符串数组是在R2017a中引入的。如果您使用的是更早期的版本,请创建字符数组。有关详细信息,请参阅下一个板块内容:字符数组中的数据。

要将文本添加到字符串的末尾,请使用加号运算符+

>> f = 71;
>> c = (f-32)/1.8;
>> tempText = "Temperature is " + c + "C"

tempText = 
"Temperature is 21.6667C"

与数值数组类似,字符串数组可以有多个元素。使用strlength函数求数组中每个字符串的长度。

>> A = ["a","bb","ccc"; "dddd","eeeeee","fffffff"]

A = 
    "a"       "bb"        "ccc"    
    "dddd"    "eeeeee"    "fffffff"

>> strlength(A)

ans =

     1     2     3
     4     6     7

字符数组中的数据

这部分是R2016a中的主要使用方法。

有时,字符表示的数据并不对应到文本,例如DNA序列。您可以将此类数据存储在数据类型为char的字符数组中。字符数组使用单引号。

>> seq = 'GCTAGAATCC';
>> whos seq
  Name      Size            Bytes  Class    Attributes

  seq       1x10               20  char               

数组的每个元素都包含单个字符。

>> seq(4)

ans =

A

使用方括号串联字符数组,就像串联数值数组一样。

>> seq2 = [seq 'ATTAGAAACC']

seq2 =

GCTAGAATCCATTAGAAACC

在字符串数组引入之前编写的程序中,字符数组很常见。接受string数据的所有MATLAB函数都能接受char数据,反之亦然。

共计5人评分,平均4.6

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/2848.html

(0)
微信公众号
古哥的头像古哥管理团队
上一篇 2022年09月07日 21:11
下一篇 2022年09月08日 20:17

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号