0

我通过以下方式生成结构“str”的数组“AoS”:

for i = 1:iMax
    for j = 1:jMax
        str = calculatestructure();
        AoS(i,j) = str;
    end
end

现在,假设该结构有两个字段:str.field1、str.field2。我想获取AoS的Ith和Jth元素的str.field1的值,根据使用的方法报错如下。如果我使用这两种方法中的任何一种,我会收到错误消息:“引用不存在的字段 'field1'”

value = AoS(I,J).field1; % method 1
value = AoS.field1(I,J); % method 2

任何想法?是否有空间命令来访问结构数组?此处此处此处显示的帮助实际上对这个问题没有用处。

非常感谢。

4

1 回答 1

0

您确定 calculatestructure() 的输出吗?我测试过:

for i = 1:10
    for j = 1:10
        str = struct();
        str.field1=1;
        str.field2=2;
        AoS(i,j) = str;
    end
end
AoS(1,1).field1

我确实在结构 AoS 的数组中的 1,1 位置获得了结构的字段 field1。也许 calculatestructure() 不会输出包含您认为的字段的结构。AoS 真的是 iMax x jMax 结构数组吗?每个元素都有 field1 字段吗?

于 2013-03-28T10:18:31.220 回答