Info

# repeating same procedure for two data sets by cell or struct array?

1 view (last 30 days)
yp78 on 30 Mar 2018
Closed: MATLAB Answer Bot on 20 Aug 2021
I'm struggling to find a way to efficiently repeat the same procedure for two separate data sets. I thought it is something to do with struct or cell arrays, but no idea how to do it. I would truly appreciate your help!
% both data are m by n matrix containing returns of stock prices
rtn1=data1;
rtn2=data2;
% % want to avoid repetition by indexing the data names
% I know it is wrong, but the image of what I would like to do is...
for j=1:2
% operation is done only for the first column of the data
firstRtn=rtn(j)(:,1);
% calculate 1 year average
rollingAve=zeros(length(firstRtn)-251,1);
for i=1:length(rtn(j))-251
rollingAve(i)=average(rtn(j)(i:i+251));
end
figure
plot(rollingAve)
end

Walter Roberson on 30 Mar 2018
rtn = {data1; data2};
for j = 1 : length(rtn)
rollingAve = movavg( rtj{j}, 'simple', 251);
figure
plot(rollingAve)
end