文件

字符向量的单元格阵列

将文本存储为字符向量,用单引号括起来。通常,字符向量具有您认为是单一信息的文本,例如文件名或绘图的标签。如果您有很多文本,例如文件名列表,则可以将它们存储在单元格数组中。其元素是所有字符向量的单元格数组是a字符向量的单元格阵列

笔记

  • 截至R2018B,将文本的推荐方法用于使用字符串阵列.如果您创建具有的变量细绳数据类型,将它们存储在字符串数组中,而不是单元格数组。有关更多信息,请参阅字符串和字符数组中的文本更新您的代码以接受字符串

  • 虽然这句话字符串单元格数组经常被用来描述这种单元阵列,这句话不再准确,因为这种单元阵列保持字​​符向量,而不是字符串。

创建字符向量的单元格数组

要创建字符向量的单元格数组,请使用Crly括号,{},正如您要创建任何单元格数组。例如,使用字符向量的单元格数组来存储名称列表。

c = {'李'“桑切斯”'琼斯'“杨”'Larson'}
C =1x5单元格阵列{'Li'} {'Sanchez'} {'Jones'} {'Yang'} {'Larson'}}

字符向量C可以具有不同的长度,因为单元格阵列不要求其内容具有相同的大小。确定字符向量的长度C, 使用斯特莱格功能。

l = strlength(c)
l =1×52 7 5 4 6

在单元格数组中访问字符向量

要访问单元格数组中的字符向量,请使用花括号对其进行索引,{}.提取第一单元的内容并将其存储为字符向量。

c = {'李'“桑切斯”'琼斯'“杨”'Larson'};chr = c {1}
chr ='li'

给第一个单元格分配一个不同的字符向量。

c {1} =“杨”
C =1x5单元格阵列{'yang'} {'sanchez'} {'jones'} {'yang'} {'larson'}

要引用单元格的子集,而不是其内容,请使用圆括号进行索引。

C(1:3)
ans =.1 x3单元阵列{'yang'} {'sanchez'} {'jones'}

虽然您可以通过索引访问单元格的内容,但大多数函数接受单元格阵列作为输入在整个单元格数组上运行。例如,您可以使用比较字符串比较内容的功能C到一个字符的矢量。比较字符串回报1哪里有火柴和0.除此以外。

tf = strcmp(c,“杨”
tf =1x5逻辑阵列1 0 0 1 0

你可以总结一下TF.找到匹配的数量。

num = sum(tf)
num = 2

TF.作为返回匹配项的逻辑索引C.如果使用圆括号进行索引,则输出的是只包含匹配项的单元格数组。

m = c(tf)
m =1x2单元格阵列{'yang'} {'yang'}

将单元阵列转换为字符串数组

截至R2018B,在整个Matlab®和MathWorks®产品金宝app中支持串阵列。下载188bet金宝搏因此,建议您使用字符串数组而不是字符向量的单元格阵列。(但是,接受字符串阵列作为输入的MATLAB函数也接受字符向量和字符向量的单元格阵列。)

您可以将字符向量的单元格阵列转换为字符串数组。要转换字符向量的单元格数组,请使用细绳功能。

c = {'李'“桑切斯”'琼斯'“杨”'Larson'}
C =1x5单元格阵列{'Li'} {'Sanchez'} {'Jones'} {'Yang'} {'Larson'}}
str = string(c)
str =1x5字符串数组“李”“桑切斯”“琼斯”“杨”“拉森”

事实上,细绳函数可以转换任何单元格数组,只要所有内容都可以转换为字符串。

C2 = {5,10,“一些文本”datetime ('今天​​')}
C2 =1×4个细胞{[5]} {[10]} {'某些文本'} {[01-FEB-2020]}
str2 = string(c2)
str2 =1 x4字符串数组“5”“10”“一些文本”“01-2月 -  2020”

也可以看看

||||

相关的话题