Speed up for loops for arrays

1 vue (au cours des 30 derniers jours)
Mantas Vaitonis
Mantas Vaitonis le 9 Nov 2018
Modifié(e) : madhan ravi le 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

Réponse acceptée

madhan ravi
madhan ravi le 9 Nov 2018
Modifié(e) : madhan ravi le 9 Nov 2018
a=7811200001;
d=1083355908;
c=a+(1:d);
c=(a+1):(a+d); %edited after jan's comment
  10 commentaires
Jan
Jan le 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 le 9 Nov 2018
Modifié(e) : madhan ravi le 9 Nov 2018
Selbverständlich , danke schön @Jan

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by