我有一个嵌套的for循环,想在第一个循环中创建命名字段,然后在下一个循环中保存到该字段。像下面的代码,第一次迭代将创建structure.first并添加'工作'那个领域。谢谢!
structure = [];
namelist = ['first', 'second', 'third'];
p = 5;
for i = 1:p
structure(end+1) = struct(namelist(i), {});
for j = 1:10
if condition = true
structure(j).namelist(i) = 'works';
end
end
end
答案 0 :(得分:4)
您的代码存在一些问题。这是一个清理版本。请注意,从字符串值向结构添加字段的最佳方式是:<<struct_name>>.(<<field_name_str>>) = <<value>>
。此外,if
语句测试条件是否成立,因此不需要测试它是否为真。最后,namelist
应存储为单元格数组。
structure = [];
namelist = {'first', 'second', 'third'};
for i = 1:length(namelist)
for j = 1:10
if condition
structure.(namelist{i})='works';
end
end
end