3
我有一個和我的previous one類似的問題。這一次的嵌套結構的形式如下:將嵌套的結構數組重新整形成具有不同大小元素的單元陣列
Sizes = [2, 5, 8, 6, 3];
cells = 5;
for i = 1:cells
for j = 1:Sizes(i)
a(i).b.c(j).d = rand(1,1);
end
a(i).b.Size = Sizes(i);
end
我再次想將所有的a(:).b.c(:)
的d
值到包含1 x cells
電池的單cell array
。
下面是使用cellfun
我的解決方案,但我想避免這樣的功能:
ab = [a.b];
abc = {ab.c};
abcd = cellfun(@(x) [x.d], abc, 'UniformOutput', false);
使用以前的解決方案爲abc
:
abc = [ab.c];
創建與現場d
一個1x24
結構陣列。我想過使用Size
字段將此結果重塑爲cell array
,但我不知道如何或是否有可能。沒有使用循環和沒有cellfun
,你有更好的方法嗎?