我有一个嵌套的单元阵列A
中,例如A
是1 x 6
细胞。
的每个单元格都A
包含另一个单元格数组(例如A{1} = 1 x n
ex。cell)。
的每一个单元A{1}{1}
包含其他单元阵列A{1}{1} = 1 x n
单元
我想在一个唯一的数组中列出单元格的内容。
A = cell(1,2);
A{1} = cell(1,2);
A{2} = cell(1,1);
A{1}{1} = [{1} {2}];
A{1}{2} = [{3} {4}];
A{2}{1} = [{5} {6}];
vec = [];
for i = 1 : size(A,2)
for j = 1 : size(A{1,i},2)
vec = [vec; cell2mat(A{1,i}{1,j}(:,2))];
end
end
vec = [2;4;6]
有没有办法避免for循环?
谢谢
看看这对您有用吗-
A_horzcat = horzcat(A{:})
out = cell2mat(vertcat(A_horzcat{:}))
vec = out(:,2)
另一种方法(单线!我更喜欢它)-
vec = arrayfun(@(x) x{1}{2}, [A{:}]).'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句