我需要访问结构内部的结构:我有一个名为GlobalStruc的主结构,它有很多项(我的“数据包”)。每个数据包包含许多信息,即具有许多字段。其中一个本身就是一个有几个领域的结构。我需要访问这些字段中的每一个。有什么想法吗?
总结一下:GlobalStruc.DetailsStruc包含许多字段并且有许多索引。我怎样才能访问这些?如果更方便,我可以用这些字段创建一个数组吗?像CharacterOfThePacket = GlobalStruc(index).DetailsStruc.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.
非常感谢你,
答案 0 :(得分:0)
你不能一行,但你可以这样做:
InnerStruct = [GlobalStruc.moredata];
然后访问第一个元素:
InnerStruct(1)
ans =
velocity: 327
bbeta: 3.2000
或结构的第i个元素:
InnerStruct(i)