是否可以在Matlab中将矩阵元素存储为字符串数组?

时间:2014-05-31 18:31:47

标签: string matlab

有没有什么聪明的方法可以将矩阵元素作为字符串数组存储?

例如:

如果A=[1 2 3; 4 5 6]是2x3矩阵,str(1)='1 2 3'str(2)='4 5 6';一个1x2阵列

2 个答案:

答案 0 :(得分:4)

将矩阵转换为字符串的单元格数组有一种方法(无论是否聪明):

>> str = cellstr(num2str(A));

str = 

'1  2  3'
'4  5  6'

输入矩阵A通过num2str转换为2x7字符数组(每个数字之间有两个空格),然后我们通过cellstr将其转换为字符串的单元格数组。第一个字符串由str{1}访问,第二个字符串由str{2}访问。

答案 1 :(得分:0)

不幸的是,我认为没有办法让它在句法上完全按照你的要求进行锻炼。我看到两个选择:

  1. 正如Geoff所说,str = cellstr(num2str(A))将完成工作,您必须将其编入索引为str{1}(请注意str(1)会返回一个单元格数组,而不是串)。

  2. 如果您想要一个数组,可以使用str = num2str(A)

  3. 例如

    >> num2str(A)
    ans =
    1  2  3
    4  5  6
    >> str(1,:)
    ans =
    1  2  3
    >> str(2,:)
    ans =
    4  5  6
    

    保留为向量,您必须使用str(1,:)访问您的字符串。