Speed up for loops for arrays

1 view (last 30 days)
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)

Categories

Find more on Creating and Concatenating Matrices 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!