在Matlab中将'abcd'转换为{'a''b''c''d'}

时间:2016-09-24 17:44:59

标签: matlab

我想将字符串转换为类别为字符的分类数组。

3 个答案:

答案 0 :(得分:1)

您可以将num2cell用于此目的,如下所示:

string ='abcd';
num2cell(string)

<强>输出: -

ans = 
    'a'    'b'    'c'    'd'

答案 1 :(得分:1)

如果要创建字符串的单元格数组(字符),请使用cellstr()函数。这会将char数组的每一行转换为单元数组中的单独字符串。由于您的string变量是单行,因此请使用单引号字符将其转置为列,然后使用cellstr()

string ='abcd'
A = cellstr(string')   % The single quote after the string variable transposes it to a column

输出A将是柱状的,因此要在A之后获取行单元格数组另一个单引号,例如在您提及时使用categorical()

B = categorical(A')

答案 2 :(得分:0)

matlab中的

字符串实际上已经是一个字符向量。

str = 'abcd';
length(str) %4
str(1) %a
str(2:3) %bc