2013-03-28 79 views
0

我以下面的方式产生的阵列的结构“STR”“AOS”:迭代在Matlab结构的阵列,ERROR:“参考不存在的字段‘名称字段’”

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

现在,假设结构有两个字段:str.field1,str.field2。我想要获取str.field1的值作为AoS的Ith和Jth元素,并根据所使用的方法得到以下错误。 如果我使用任何两种方法,我得到错误:“引用不存在的字段‘字段1’”

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

任何想法?是否有空间命令来访问一个结构数组?显示的帮助here,herehere,实际上并没有用于这个标记。

非常感谢。

回答

0

您确定计算结构()的输出吗?我测试过:

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位置得到结构的field field1。也许calculatetructure()不会输出你认为的字段的结构。 AoS真的是iMax x jMax结构数组吗?每个元素都有field1字段吗?

+0

实际上结构来自一个文件。我注意到,如果将它保存为“.mat”文件,我可以毫无问题地访问它,但如果将它另存为“.m”文件,则可以使用图形界面对其进行加密,但不能从代码中加以识别。 ..也许我应该改变标题和问题的描述... – 2013-04-17 11:29:01

相关问题