Speed up plot in loop?

2 views (last 30 days)
Leo Müller
Leo Müller on 18 Nov 2015
Answered: Ronit on 30 May 2025
Hello dear community.
I have the following problem: My program creates a two different arrays (vectors of different lengths) in each step of a for-loop. Right now I am plotting these two vectors within the loop which makes it update each time the loop is completed. Unfortunately the plotting seems to have a great impact on the speed of my program. I would like to ask for advice to speed up my loop.
Thank you for your help!

Answers (1)

Ronit
Ronit on 30 May 2025
Hello,
To speed up the code execution, following are a few suggestions which you can use:
  1. Instead of plotting during each iteration (which is slow), store the data in each loop and create the plot after the loop finishes.
  2. If you still need to update a plot inside the loop (e.g., for animation), use "drawnow limitrate" to reduce the frequency of GUI updates. This limits the redraw rate and prevents MATLAB from refreshing the figure on every single iteration.
Refer to the documentation page of the "drawnow" function for more details regarding "drawnow limitrate": https://www.mathworks.com/help/matlab/ref/drawnow.html
I hope this resolves your issue!
Thanks

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!