Calculate the time-averaged value every 10 iterations
    13 views (last 30 days)
  
       Show older comments
    
Hi,
I do the calculation of X (k) 1000x1 in a time loop for t = 1: 10000 (note that X does not have an iteration t) and I want to put a condition when t = 9000 to compute the averaged value (in the time) of X every 10 iterations ot t and when t> = 9000 : 10000
I want to get the size of X average like that 1000x10 without introducing a time iteration t in the variable X
is there a way to do that?
0 Comments
Accepted Answer
  Nicolas B.
      
 on 11 Dec 2019
        
      Edited: Nicolas B.
      
 on 11 Dec 2019
  
      I'm trying to understand your question. I understand that every 10 iterations, you want to display the average computation time of the last 10 iterations. So I would like to recommend you to do something like that:
% create t to go faster
t = NaN(1, 10);
it = 1;  % index in t array
for i = 1:10000
    tic;
    % your code
    t(it) = toc; % get the execution time for this sample 
                 % taking into account that i starts with 1
    it = it + 1;
    % display average time and reset counter
    if it == 10
        % compute and display average computation time
        fprintf('My average computation time = %f\n', mean(t));
        it = 1;
    end
end
% display last iterations if not already done
if it ~= 1
    fprintf('My average computation time = %f\n', mean(t(1:it)));
end
More Answers (0)
See Also
Categories
				Find more on Boundary Conditions in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!