基本上,我尝试通过test1=repmat({'aaaa'},1,3)
和test2=repmat({'bbbb'},1,3)
重复2次字符串3次。然后我想将它们放入另一个名为final
的单元格中,以便我得到这样的输出:
final = {'aaaa' 'aaaa' 'aaaa' 'cccc' 'bbbb' 'bbbb' 'bbbb'}
但它失败了,而这正是我在输出中得到的:
final={ {1x3 cell} 'cccc' {1x3 cell} }
我试着通过查看这里的不同帖子来寻找答案,但我找不到任何有用的东西。这就是我创造这个问题的原因。
答案 0 :(得分:1)
假设您有以下变量:
test1=repmat({'aaaa'},1,3);
test2 = 'cccc';
test3=repmat({'bbbb'},1,3);
然后test1
和test3
将是1x3
个单元格数组,而test2
只是一个字符串或char数组。
如果你现在使用
final = {test1, test2, test3};
然后final
将成为1x3
单元格,其中第一个元素又是1x3
单元格(test1
),第二个元素是字符串({{1而且第三个元素又是一个test2
单元格。这就是您在问题中描述的内容。
如果您使用
1x3
插入了final = {test1{:}, test2, test3{:}}
和test1
的内容,而不是单元格本身。 (有关访问单元阵列中数据的详细信息,请参阅MATLAB help pages)。因此,输出将是test2
单元阵列,其包含:首先是1x7
的内容(即3个字符串),然后是test1
,并且最后是test2
的内容。
结果将是
test3