Speeding up a loop
Afficher commentaires plus anciens
I have made a simple loop that works fine when dealing with small datasets, but takes ages to run when L is 10^6 in size - which unfortunately is the size I need to work with. I'm sure you can tell by the code itself I'm a matlab newbie, so any ideas on how this can be sped up would be very much appreciated. I've read about vectorisation but cannot work out how to vectorise this code.
C=cumsum(S);
L=length(C);
X=zeros(1,L)';
for i=1:L;
if C(i)>min(C(i:L));
X(i);
else
X(i)=1;
end
end
4 commentaires
Rick Rosson
le 17 Jan 2013
Modifié(e) : Rick Rosson
le 17 Jan 2013
Is S a row vector or a column vector?
Rick Rosson
le 17 Jan 2013
Modifié(e) : Rick Rosson
le 17 Jan 2013
What is the goal of this algorithm? What do the variables S and X represent?
Jan
le 17 Jan 2013
Is the wanted property of C directly related to the sign of the corresponding element of S?
Réponse acceptée
Plus de réponses (1)
Swisslog
le 17 Jan 2013
0 votes
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!