如何组合单元格数组中的单元格以形成单个单元格?例如:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
进入1个单元格
a = 'I am a noob in matlab'
答案 0 :(得分:6)
strjoin
正是如此:
>> a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a =
'I' 'am' 'a' 'noob' 'in' 'matlab'
>> strjoin(a)
ans =
I am a noob in matlab
答案 1 :(得分:4)
注意路易斯·门多对strjoin
下面的回答显然更好,但我不能删除它,因为这是接受的答案。
首先,您需要添加一行空格字符:
a = {'I', 'am', 'a', 'noob', 'in', 'matlab'}
a(2,:) = {' '}
现在您可以使用{:}
操作来获取以逗号分隔的列表和[]
操作来连接这些:
[a{:}]
ans =
I am a noob in matlab
请注意,这是因为Maltab是column-major,这就是为什么当您使用:
运算符“线性化”矩阵时,它会在遍历行之前首先按下列。
另请注意,此方法存在轻微缺陷,因为它会在结果的末尾添加一个额外的空格字符。所以你可能想要trim它。
最后要注意的是,您要求答案位于一个单元格中,但我给了您一个char数组。如果你真的想要它在一个单元格,我相信你没有,那么这样做:
{[a{:}]}