访问1xn结构字段的正确方法

时间:2014-05-12 15:37:58

标签: matlab struct cell-array

我已经找到了访问结构的给定字段的正确方法,手动和在线搜索没有帮助。

正式地,让MyStruct成为1xn struct变量。使用以下命令列出存储在字段中的所有元素很容易:

MyStruct.Thisfield   
ans =
    0.7010

ans =
    0.310

ans =
    0.444

现在,我发现能够访问其元素的唯一方法是使用临时变量,例如temp={MyStruct.Thisfield}然后temp{1,2}等。我认为它很笨拙,但无法弄清楚还有什么可做。

此:

>> MyStruct{1,1}.Thisfield 
  

来自非单元格数组对象的单元格内容引用。

和此:

>> MyStruct.Thisfield{1,1} 
  

后面跟着的多个结构元素的字段引用   更多参考块是一个错误。

是我不成功的尝试。

在我的这个答案https://stackoverflow.com/a/22813577/2777181

中查看 in situ 示例

1 个答案:

答案 0 :(得分:1)

如果你现在这样做:

temp={MyStruct.Thisfield}
temp{1,2} 

您可以通过直接访问结构的第二个元素来替换它(正如@Jucestain所提到的那样):

MyStruct(2).Thisfield

请注意,在一维调用中,您无需指定所有维度。所以在原始代码中你可以做到

temp{2}