MATLAB: Save workspace variable dynamically

Financial Time Series Toolboxsave work space variable

Hi, newbie here, I am trying to create a seperate timetable variable for each data request, and then finally save all timetables in a .mat file
for i = 1:size(FTSETickers,1)
data = getMarketData(...); %returns a 'table' type
Stock = table2timetable(data);
end
save('FTSE_DATA.mat')
… however I can't seem work out how to assign the variable 'Stock' to a new name (e.g. each request corresponding to the name of the stock) each time the loop runs,
I read that works space variables should now be created dynamically , can you creat an array or timetables perhaps?
Any help , most appreciated

Best Answer

I am not exactly sure what is it you are trying to do, but I assume you want to save a file where the variable names are the ticker symbols for stock (You will get error if there are invalid characters in the symbol);
You can do something like this.
stockdata = struct();
for i = 1:size(FTSETickers,1)
%symbol = .......; % assign a char value for symbol
data = getMarketData(...); %returns a 'table' type
stockdata.(symbol) = table2timetable(data);
end
save('FTSE_DATA.mat','-struct','stockdata');