【问题标题】:Proper way of accessing field of a 1xn stuct访问 1xn 结构的字段的正确方法
【发布时间】:2014-05-12 15:37:57
【问题描述】:

我一直在寻找访问结构的给定字段的正确方法,但手动和在线搜索没有帮助。

正式地,让 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的这个答案中查看一个示例原位

【问题讨论】:

  • 你试过MyStruct(2).Thisfield吗?
  • 请注意,大括号(仅)用于处理单元格。 MyStruct(1,1).Thisfield 也可以做到这一点。

标签: matlab struct cell-array


【解决方案1】:

如果您目前这样做:

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

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

MyStruct(2).Thisfield

请注意,在一维调用中,您不需要指定所有维度。因此,在您的原始代码中,您可以完成

temp{2}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2010-11-03
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    相关资源
    最近更新 更多