迭代结构数组字段的值
Iterating structures array field's values
如何iterate/loop构造数组字段的值。
对于 1x1 结构
student = struct();
student.name = 'jim';
student.gpa = 1.9;
我这样做 :
fields = fieldnames(student)
for i=1:numel(fields)
var = fields(i)
end
但我不知道如何迭代 1 x 2 :
student = struct();
student(1).name = 'jim';
student(1).gpa = 1.9;
student(2).name = 'ryan';
student(2).gpa = 1.5;
你需要有另一个 for
循环
fields = fieldnames(student);
for k = 1:numel(student)
for m = 1:numel(fields)
var = student(k).(fields{m});
end
end
或者,您可以使用点符号创建 comma separated list 的事实,您可以将它们放在元胞数组(对于字符串)或普通数组中
names = {student.name};
gpas = [student.name];
我通常更喜欢使用第二种方法来访问结构数组中的相同字段。
如何iterate/loop构造数组字段的值。
对于 1x1 结构
student = struct();
student.name = 'jim';
student.gpa = 1.9;
我这样做 :
fields = fieldnames(student)
for i=1:numel(fields)
var = fields(i)
end
但我不知道如何迭代 1 x 2 :
student = struct();
student(1).name = 'jim';
student(1).gpa = 1.9;
student(2).name = 'ryan';
student(2).gpa = 1.5;
你需要有另一个 for
循环
fields = fieldnames(student);
for k = 1:numel(student)
for m = 1:numel(fields)
var = student(k).(fields{m});
end
end
或者,您可以使用点符号创建 comma separated list 的事实,您可以将它们放在元胞数组(对于字符串)或普通数组中
names = {student.name};
gpas = [student.name];
我通常更喜欢使用第二种方法来访问结构数组中的相同字段。