我希望水平连接字符串单元格数组的行,如下所示。
start = {'hello','world','test';'join','me','please'}
finish = {'helloworldtest';'joinmeplease'}
是否有任何内置函数可以完成上述转换?
答案 0 :(得分:22)
使用NUM2CELL和STRCAT函数可以轻松实现非循环方式:
>> finish = num2cell(start,1);
>> finish = strcat(finish{:})
finish =
'helloworldtest'
'joinmeplease'
答案 1 :(得分:1)
一种简单的方法是在行上循环
nRows = size(start,1);
finish = cell(nRows,1);
for r = 1:nRows
finish{r} = [start{r,:}];
end
修改强>
更具参与性且稍难阅读的解决方案也是如此(一般解决方案留给读者练习)
finish = accumarray([1 1 1 2 2 2]',[ 1 3 5 2 4 6]',[],@(x){[start{x}]}
)
答案 2 :(得分:-1)
我认为你想要的是这两个被连接成一个单元格数组。尝试使用此代码,适合我。
' x = [{start},{finish}];'