我有一个1x2
单元格数组
a{1, 1}
是包含5x1
[1 2 3 4 5]
int数组
a{1, 2}
是包含5x1
'aa', 'bb', 'cc', 'dd', 'ee'
单元格数组
剥离第一层的最优雅方法是什么,产生5x2
单元格数组如下?
1 'aa'
2 'bb'
3 'cc'
4 'dd'
5 'ee'
答案 0 :(得分:2)
怎么样:
% original cell
a = cell(1,2);
a{1} = [1 2 3 4 5];
a{2} = {'aa', 'bb', 'cc', 'dd', 'ee'};
% flattened
aa = reshape([num2cell(a{1}) a{2}], [], 2)
答案 1 :(得分:1)
我想出了一个解决方案,但我不确定它的“优雅”。
a = cell(1, 2);
a{1, 1} = [1, 2, 3, 4, 5];
a{1, 2} = {'aa','bb','cc','dd','ee'};
result = [num2cell(a{1, 1})' a{1, 2}']
result =
[1] 'aa'
[2] 'bb'
[3] 'cc'
[4] 'dd'
[5] 'ee'
答案 2 :(得分:0)
您可以尝试以下代码:
a{1, 1} = [1,2,3,4,5];
a{1, 2} = {'aa','bb','cc','dd','ee'};
temp = num2cell(a{1});
b = {temp{:};a{2}{:}}.'
b =
[1] 'aa'
[2] 'bb'
[3] 'cc'
[4] 'dd'
[5] 'ee'