How can I decrease the running time of this code?

1 visualización (últimos 30 días)
evelyn parra
evelyn parra el 14 de Abr. de 2019
Respondida: Star Strider el 14 de Abr. de 2019
for i=1:1:f-1
Ux(i,:)=X(i+1,:)-X(i,:)
Uy(i,:)=Y(i+1,:)-Y(i,:)
Uz(i,:)=Z(i+1,:)-Z(i,:)
end

Respuestas (1)

Star Strider
Star Strider el 14 de Abr. de 2019
Use the diff (link) function:
Ux = diff(X);
Uy = diff(Y);
Uz = diff(Z);
When I timed your code and diff with these matrices:
f = 1000;
X = rand(f, 500);
Y = rand(f, 500);
Z = rand(f, 500);
the results were:
Elapsed time is 0.633127 seconds. % Your Code
Elapsed time is 0.007197 seconds. % ‘diff’
The resulting matrices were the same.
Experiment to get the result you want.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by