我以下列方式生成结构“str”的数组“AoS”:
for i = 1:iMax
for j = 1:jMax
str = calculatestructure();
AoS(i,j) = str;
end
end
现在,让我们说结构有两个字段:str.field1,str.field2。我想得到str.field1的值为AoS的第I和第J个元素,我根据使用的方法得到以下错误。 如果我使用这两种方法中的任何一种,我会得到错误:“引用不存在的字段'field1'”
value = AoS(I,J).field1; % method 1
value = AoS.field1(I,J); % method 2
有什么想法吗?是否有空间命令来访问结构数组?显示的帮助here,here和here对这个问题实际上并不有用。
非常感谢。
答案 0 :(得分:0)
您确定calculatetructure()的输出吗?我测试过:
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
我确实得到结构的字段field1在结构AoS数组的1,1位置。也许calculatetructure()不会输出您认为的字段的结构。 AoS真的是一个iMax x jMax结构数组,并且每个元素都有field1字段吗?