【发布时间】:2017-08-08 14:41:25
【问题描述】:
我的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];
创建一个1x24 结构体数组,其字段为d。我想过使用Size 字段将此结果重塑为cell array,但我不知道如何或是否可能。你有没有更好的方法而不使用循环和cellfun?
【问题讨论】:
标签: arrays matlab struct nested cell-array