将MATLAB字符数组转换为字符串

10

从 MATLAB 字符数组 A 开始:

A(1,1) = 'A'
A(1,2) = 'P'
A(1,3) = 'R'
A(2,1) = 'M'
A(2,2) = 'A'
A(2,3) = 'Y'

如何将此转换为字符串单元格B,使其满足以下条件:

B{1} = 'APR'
B{2} = 'MAY'

编辑: A是一个单元格,使用函数cellstr会出现错误。

Error using cellstr (line 23)
S must be 2-D. 

你的错误信息中的S是谁? - Franck Dernoncourt
我有A = data{3,1}(一些单元格数据),所以现在A是<2x6 char>。然后我输入B = cellstr(A),但是出现了错误。 - rwolst
你能把数据放在问题描述中或者Pastebin上吗? - Franck Dernoncourt
另外,cellstr对A起作用吗? - Franck Dernoncourt
在尝试粘贴我的数据时,我似乎找到了一个解决方案。最初,我的数据是一对月份,存储在一个<2106x2x6 char>的变量T中。然后我尝试使用cellstr(T(1,:,:)),但出现了上述错误。然而,当我将A(:,:)赋值为T(1,:,:)并使用cellstr(A)时,它起作用了。 - rwolst
2个回答

9

2
对于一个三维字符数组T
B = cellstr(T(1,:,:))

出现了错误。
Error using cellstr (line 23)
S must be 2-D.

首先将其分配给一个二维矩阵,然后像Franck上面建议的那样使用'cellstr'。

A(:,:) = T(1,:,:)
B = cellstr(A)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接