load Data1 days = unique(Data1(:,1)); for day_idx = 1 : length(days) I = find( Data1(:,1) == days( day_idx ) ); day_data{day_idx}.date = days( day_idx ); day_data{day_idx}.time = Data1(I,2); day_data{day_idx}.price = Data1(I,3); end % Compute 51 sample moving averages for each day for day_idx = 1 : length(days) ma51{day_idx} = day_data{day_idx}.price; for k = 51 : length( day_data{day_idx}.price ); ma51{day_idx}(k) = mean( day_data{day_idx}.price( k-50:k) ); end end % Plot one day of data k=5; plot(day_data{k}.time,day_data{k}.price,day_data{k}.time,ma51{k}) legend('Raw Price','51 Sample Moving Average') xlabel('Time (24-hour clock)') ylabel('Price ($)') title(sprintf('Day %d',day_data{k}.date))