Azzera filtri
Azzera filtri

is it possible to replace for loops to fast it up?

2 visualizzazioni (ultimi 30 giorni)
elis02
elis02 il 27 Set 2018
Risposto: Jan il 27 Set 2018
Hello,
Example of something i have is:
for ang=1:length(angle)
parfor dist=1:length(distance)
sol(ang,dist)=abs(pulsecompress_new_3620_check([distance(dist) angle(ang)]));
end
end
every alteration in the function takes a long time. I have long arrays for "distance" and "angle" these two "for" loops might take several days. Is it possible to use the matrix nature of matlab to make this code run faster?
Thanks,
  3 Commenti
KSSV
KSSV il 27 Set 2018
We need to check the function pulsecompress_new_3620_check to make it fast.

Accedi per commentare.

Risposte (1)

Jan
Jan il 27 Set 2018
Start the optimization of the code by using the profiler to determine the bottleneck. It is a waste of time to improve a piece of code, which takes a negligible amount of the total run time only: If you accelerate a part be a factor 2, which takes 2% of the run time, the total time is reduced by 1% only.
After finding the most time consuming part, post it here together with some relevant inputs, e.g. created by rand() if possible. The typical dimensions matter.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by