我有一个包含数据的堆叠结构,看起来像这样:
a(1) = struct('X',rand(10,1),'Y',rand(10,1),'Time',(1:1:10)')
a(2) = struct('X',rand(10,1),'Y',rand(10,1),'Time',(1:1:10)')
(堆叠结构的数量和每个参数的长度不是恒定的)
现在我想使用时间戳 5 访问所有 X 数据。我知道我可以通过循环来做到这一点:
data = zeros(length(a),1)
for k=1:1:length(a)
data(k) = a(k).X(5)
end
但我想知道是否没有办法在没有循环的情况下访问数据?
我试过b = [ a(:).X(5) ]
了,但这不起作用(b = [ a(:).X ]
确实)。我已经必须在一个环绕循环中执行此操作,所以我想避免不必要的计算......
并且在同一主题中:是否可以使用相同的时间戳获取一个堆栈的所有数据?像这样的东西:
data = a(1)(a(1).Time==5)
>> data
data =
<X value> <Y value> 5
谢谢你的帮助!