Comparison for/vectorization- some general advice
Mostrar comentarios más antiguos
Hi, i'm trying to vectorize my code. But i have recently found this:
clear all;
tic
k=zeros([1,10000]);
a=1:10000;
k(a)=rand;
toc
tic
g=zeros([1,10000]);
for i=1:10000;
g(i)=rand;
end
toc
Elapsed time is 0.030372 seconds.
Elapsed time is 0.013857 seconds.
(Obviously) Every time tic/toc time changes a bit but there is always this kind of gap. In Matlab a vectorized code is faster than a loop code so i dont understand this result.
On the contrary i have also found:
clear all;
tic
k=zeros([1,1000000]);
a=1:1000000;
k(a)=rand;
toc
tic
g=zeros([1,1000000]);
for i=1:1000000;
g(i)=rand;
end
toc
Elapsed time is 0.034189 seconds.
Elapsed time is 0.045542 seconds.
Maybe the for loop with preallocation is not so bad but the difference between them rises when the length of the array grows. Tell me what u think and please give me some advice for a good vectorization
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Get Started with MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!