How can I decrease the running time of this code?

1 vue (au cours des 30 derniers jours)
evelyn parra
evelyn parra le 14 Avr 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

Réponses (1)

Star Strider
Star Strider le 14 Avr 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.

Catégories

En savoir plus sur Loops and Conditional Statements 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