访问Matlab结构中的结构中的特定字段

时间:2016-07-19 11:15:18

标签: database matlab structure

我需要访问结构内部的结构:我有一个名为GlobalStruc的主结构,它有很多项(我的“数据包”)。每个数据包包含许多信息,即具有许多字段。其中一个本身就是一个有几个领域的结构。我需要访问这些字段中的每一个。有什么想法吗?

总结一下:GlobalStruc.DetailsS​​truc包含许多字段并且有许多索引。我怎样才能访问这些?如果更方便,我可以用这些字段创建一个数组吗?像CharacterOfThePacket = GlobalStruc(in​​dex).DetailsS​​truc.FieldThatIWant

以下是如何构建主要结构的示例: `

  
    

GlobalStruc(1).data1 = 1;     GlobalStruc(1).data2 = 12;     GlobalStruc(1).moredata.velocity = 327;     GlobalStruc(1).moredata.bbeta = 3.2;     GlobalStruc(2).data1 = 23;     GlobalStruc(2).data2 = 56;     GlobalStruc(2).moredata.velocity = 442;     GlobalStruc(2).moredata.bbeta = 1.7;     GlobalStruc(3).data1 = 4.3;     GlobalStruc(3).data2 = 7;     GlobalStruc(3).moredata.velocity = 556;     GlobalStruc(3).moredata.bbeta = 1.1;

  

` 现在我希望我能说:

myVelocities=GlobalStruc(:).moredata.velocity;

但是我收到了这个错误:

Expected one output from a curly brace or dot indexing expression,
but there were 3 results.

非常感谢你,

1 个答案:

答案 0 :(得分:0)

你不能一行,但你可以这样做:

InnerStruct = [GlobalStruc.moredata];

然后访问第一个元素:

InnerStruct(1)

ans = 

    velocity: 327
    bbeta: 3.2000

或结构的第i个元素:

InnerStruct(i)