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

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

Are you able to look into the pulsecompress_new_3620_check function? Vectorization is only a helpful solution if you can rewrite the function to accept vectors of distance, angle, or both.
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 Centro assistenza e File Exchange

Richiesto:

il 27 Set 2018

Risposto:

Jan
il 27 Set 2018

Community Treasure Hunt

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

Start Hunting!

Translated by