Speed up for loops for arrays

1 view (last 30 days)
Mantas Vaitonis
Mantas Vaitonis on 9 Nov 2018
Edited: madhan ravi on 9 Nov 2018
Hello, Maybe someone could help me to speedup this type of for loop? I did try parfor, I did try to think of way using GPU, but it does not work with indexing.
clear;
a=7811200001;
d=1083355908;
c=zeros(1083355908,1)
parfor i = 1:d
c(i,1)=a+i;
end

Accepted Answer

madhan ravi
madhan ravi on 9 Nov 2018
Edited: madhan ravi on 9 Nov 2018
a=7811200001;
d=1083355908;
c=a+(1:d);
c=(a+1):(a+d); %edited after jan's comment
  10 Comments
Jan
Jan on 9 Nov 2018
Another hint: In a+(1:d) you create the double vector 1:d at first and then add a to each element. It is more efficient to omit the addition and create vector directly:
(a+1):(a+d)
madhan ravi
madhan ravi on 9 Nov 2018
Edited: madhan ravi on 9 Nov 2018
Selbverständlich , danke schön @Jan

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!