我想将n个单元格放入单个单元格中。例如,如果n = 24,我可以像这样输入所有24个单元格:
P={cell2mat(S.A1),cell2mat(S.A2),cell2mat(S.A3),...,cell2mat(S.A24)};
显然这样打字是愚蠢的。这会是一个更好的方法吗?也许创建一个循环?此外,在某些情况下,我可能会有不同的n,这使得手动方法更具吸引力。有人可以帮忙吗?
谢谢!
答案 0 :(得分:0)
您可以执行以下操作。
% some example S
S.A1 = {[1, 2, 3]};
S.A2 = {[3, 4, 5]};
S.A3 = {[5, 6, 7]};
n = 3;
one_cell = arrayfun(@(i) cell2mat(getfield(S, ['A',int2str(i)])), [1:n], 'UniformOutput', 0)
one_cell{:}
%
% gives:
%
ans =
1 2 3
ans =
3 4 5
ans =
5 6 7