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

2 Ansichten (letzte 30 Tage)
elis02
elis02 am 27 Sep. 2018
Beantwortet: Jan am 27 Sep. 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 Kommentare
KSSV
KSSV am 27 Sep. 2018
We need to check the function pulsecompress_new_3620_check to make it fast.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jan
Jan am 27 Sep. 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.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by