如何使用变量名创建结构

时间:2016-08-14 17:02:59

标签: matlab matlab-struct

我想创建一个以动态变量命名的结构。 类似的东西:

for t = 1:2

    for b = 1:70
        Father.t.b.A = A;
        Father.t.b.C = C;
    end
end

在查看Father时,有Father.1.1.AFather.1.2.A,...,Father.2.70.C

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

MATLAB允许结构数组的索引类似于其他数组:

for t = 1:2
    for b = 1:70
        Father(t, b).A = A;
        Father(t, b).C = C;
    end
end

答案 1 :(得分:0)

您可以使用以下示例创建struct(如excaza所述,不允许以数字开头的字段名称):

A = 1;
C = 3;

for b = 1:7
    Father.(['b', num2str(b)]) = struct('A', A, 'C', C);
end

现在:

Father.b1.A等于1
Father.b5.C等于3