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
Best Answer