% Introduction to MatLab - LOOPS %clear memory and screen clear all; clc; %% %--------------------------------------- %LOOPS VS MATRICIAL CODING %--------------------------------------- clear all; %clear memory a=-10; b=10; c=0.001; %some constants fprintf('LOOPS VS MATRICIAL CODING'); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables for i=1:(b-a)/c+1 x(i,1) = a+(i-1)*c; end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables y=a:c:b; % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); %% %---------------------------------------- %LOOPS - TREATEMENT OF THE INVARIANT CODE %---------------------------------------- clear all; %clear memory I=500000; %number of iterations in the loops mu = 0.1; %some constant fprintf('LOOPS - TREATEMENT OF THE INVARIANT CODE'); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables x = zeros(I,1); for i=1:I x(i,1) = i*exp(mu); end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables y = zeros(I,1); for ii=1:I y(ii,1) = ii; end y = y.*exp(mu); % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); %% %-------------- %EMBEDDED LOOPS %-------------- clear all; %clear memory I=100000; J=10; %numbers of oterations in the loops fprintf('EMBEDDED LOOPS'); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables for i=1:I for j=1:J x=i*j; end end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables for jj=1:J for ii=1:I y=ii*jj; end end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); %% %---------------------- %LOOPS - PRE-ALLOCATION %---------------------- clear all; %clear memory I=20000; J=10; %numbers of oterations in the loops fprintf('LOOPS - PRE-ALLOCATION'); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables for j=1:J for i=1:I x(i,j)=i*j; end end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables y = zeros(I,J); for jj=1:J for ii=1:I y(ii,jj)=ii*jj; end end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); %% %------------------- %MATRICES: DIMENSION %------------------- clear all; %clear memory I=1000; J=10; %matrices' dimension fprintf('MATRICES: DIMENSION'); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables x = zeros(J,I); for j=1:J for i=1:I x(i,j)=i*j; end end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n'); start_time=clock; start_cpu=cputime; %initialize timing variables y = zeros(I,J); for jj=1:J for ii=1:I y(ii,jj)=ii*jj; end end % End program and print out the results end_time=clock; end_cpu=cputime; fprintf('Program executed in %10.5f seconds',etime(end_time,start_time)); fprintf('\n'); fprintf('Using %24.5f CPU time', end_cpu-start_cpu); fprintf('\n');