2013-08-07 3 views
0

У меня есть большой набор данных временного ряда поперечного сечения в наборе данных в Matlab, и я хочу извлечь массивы (столбцы) данных на основе заголовка, который будет динамически передаваться из другого массива в цикле. Может кто-нибудь предложить, как реализовать это в Matlab, я пробовал следующий код:Набор данных в Matlab

cdslist = universe.Bond; 
cdscount = length(universe.Bond); 

for i=1:cdscount 
    cds = cdslist(i); 
% here i want to use this variable cds to dynamically give names to a dataset called spread, for instance spread.cds where cds is changing in the loop. 

end 

Возможно ли это? Спасибо за помощь

ответ

2

Предполагая, что cds является строкой, то он может быть использован в качестве динамического имени поля:

cdslist = universe.Bond; 
cdscount = length(universe.Bond); 

spread = struct; 

for i = 1:cdscount 
    cds = cdslist{i}; 
    spread.(cds) = data; 
end 
+0

вы даже можете обойтись без 'cds', просто используйте:' распространять (cdslist (. i)) ' – Schorsch

+0

вы можете уточнить, что такое данные? –

+0

Вещь распространяется уже в виде набора данных с данными поперечного сечения, и я хочу извлечь данные из него для имени безопасности, например, «X», заданного cdslist –

Смежные вопросы