我有一个包含750个“文档”的单元格数组(单个单元格数组中有750个单词数组)。我试图连接所有单词来制作一个单独的数组。 到目前为止,我知道我需要使用for循环遍历每个数组并追加到最后一个数组的末尾,但是我的代码给出了错误的答案:
list = cell(1,1);
for i = 1:length(docs)
prevList = list;
list = [prevList;docs{i}];
end
我的想法是我的列表初始化不正确,因为它产生:
[1x1635 char]
[1x1476 char]
[1x531 char]
[1x103 char]
[1x1725 char]
[1x344 char]
[1x463 char]
[1x739 char]
[1x762 char]
[1x1139 char]
[1x89 char]
[1x361 char]
[1x334 char]
[1x520 char]
[1x219 char]
and so forth...
而不是单词列表。
如果有人能帮助我,我会非常感激。
答案 0 :(得分:2)
不需要for
循环。让我们用一个小例子:
str1 = 'The quick brown ';
str2 = 'fox jumped over the ';
str3 = 'lazy dog. '
docs = {str1;str2;str3} % Your cell array containing arrays of text in each row
docs_cat = [docs{:}] % Concatenate
返回:
docs_cat =
The quick brown fox jumped over the lazy dog.
答案 1 :(得分:0)
我不知道是否有更快的附加解决方案,但您应该能够执行以下操作:
list = prevList;
prevLength = length(list);
for i=1:length(docs)
list{prevLength+i} = docs{i}
end
在分配期间'prevLength + i'超出范围并不重要。