2015-10-21 94 views

回答

4

注意低于strjoin路易斯Mendo的答案显然是更好的,但是我不能当它是公认的答案删除。


首先,你需要添加的空格字符的行:

a = {'I', 'am', 'a', 'noob', 'in', 'matlab'} 
a(2,:) = {' '} 

现在你可以使用{:}操作以获取一个逗号分隔的列表和[]操作来连接这些:

[a{:}] 

ans = 

I am a noob in matlab 

请注意,这是因为Maltab是column-major这就是为什么当你使用“线性化”矩阵时运算符在跨行之前首先进入列。

另请注意,此方法存在一些小的缺陷,因为它会在结果的末尾添加一个额外的空格字符。所以你可能想要trim吧。

最后需要注意的是,你要求的答案是在一个单元,但我给你一个字符数组。如果你真的想在一个小区,我敢肯定,你不这样做,那么这样做:

{[a{:}]} 
+0

:DI想知道你是否会改变我是一个noob你是一个n00b。 – GameOfThrows

+0

1nd33d w3ll 541d – GameOfThrows

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 
相关问题