MATLAB - 从结构访问矢量

时间:2016-10-03 08:02:40

标签: matlab data-structures cell-array

我有一个名为

的1x4结构
Fruitbasket=struct('apples',{[1] [2] [3] [4]},'bananas',[],'berries',[],'melons',[])

我不确定如何以矢量形式获取Fruitbaskets.apples(例如[1 2 3 4])。

Fruitbaskets.apples所获得的只是ans=1;ans=2;ans=3;ans=4

1 个答案:

答案 0 :(得分:1)

编辑:看起来你想要一个结构数组。捕获这些值的一个非常简单的解决方案显然是循环:

Fruitbasket=struct('apples',{[1] [2] [3] [4]},...)

那是因为你正在创建一个结构数组,而不是一个带数组的结构!

Fruitbasket(2).apples

创建4个Fruitbaskets,每个Fruitbaskets都有一个数字。您可以通过执行apples来验证这一点。如果您希望字段cell array包含数组,请不要将其定义为vector总线{}。单元格数组使用[]和带有apples的鸽舍进行定义。以下将使用Fruitbasket=struct('apples',[1 2 3 4],'bananas',[],'berries',[],'melons',[]) 中的向量创建单个结构:

{{1}}