我希望水平连接字符串单元格数组的行,如下所示.
start = {'hello','world','test';'join','me','please'}
finish = {'helloworldtest';'joinmeplease'}
Run Code Online (Sandbox Code Playgroud)
是否有任何内置函数可以完成上述转换?
gno*_*ice 22
使用NUM2CELL和STRCAT函数可以轻松实现非循环方式:
>> finish = num2cell(start,1);
>> finish = strcat(finish{:})
finish = 
    'helloworldtest'
    'joinmeplease'
Run Code Online (Sandbox Code Playgroud)
        一个简单的方法是对行进行循环
nRows = size(start,1);
finish = cell(nRows,1);
for r = 1:nRows
    finish{r} = [start{r,:}];
end
Run Code Online (Sandbox Code Playgroud)
编辑
一个更复杂且稍微难以阅读的解决方案,它具有相同的功能(一般解决方案留给读者作为练习)
finish = accumarray([1 1 1 2 2 2]',[ 1 3 5 2 4 6]',[],@(x){[start{x}]})