is it possible to replace for loops to fast it up?
Mostra commenti meno recenti
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
Jacob Wood
il 27 Set 2018
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.
KSSV
il 27 Set 2018
We need to check the function pulsecompress_new_3620_check to make it fast.
elis02
il 27 Set 2018
Risposte (1)
Jan
il 27 Set 2018
0 voti
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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!