2016-02-16 35 views
0

我有一个迭代增加结构大小的问题。我找不到解决方案。在MATLAB中如何编写其字段迭代估值的结构?

我需要的是将200个向量(命名为EVE1-EVE200)作为结构的字段。 我在matlab中写了下面的代码:

for i=1:200; 
    events=struct(['EVE' num2str(i)],[]); 
end 

但它只是形成最后一个结构。 任何人都可以帮我吗? 这种初始化数据库的方式反正是最好的方法吗?

+1

你只是用每个循环创建一个新的结构,而不是追加到你所做的前一个结构。 – MZimmerman6

回答

5

对于你所要求的,最好是用下面的办法:

events = struct; 
for i=1:200 
    events.(['EVE' num2str(i)]) = []; 
end 

但是,为什么不使用电池阵列,而不是一个结构呢?

events = {}; 
for i=1:200 
    events{i} = []; 
end 

后者是更清晰并用于相同的目的。

+0

是的,变量变量名通常编码风格较差,'events {i}'好得多。 +1 Andreas H. –

+0

非常感谢。它实际上解决了我的问题。 –