Can I speed up this iterative ploting?

2 vues (au cours des 30 derniers jours)
Sinwoo Jeong
Sinwoo Jeong le 22 Oct 2018
Commenté : Sinwoo Jeong le 22 Oct 2018
Hello.
I need to plot a graph iteratively. (about 10000 times)
One plot consists of a number of sub-plotting as follows.
figure(1)
hold on
u_deformed = rand(54, 24);
w_deformed = rand(54, 24);
for i = 1:size(u_deformed, 1)
plot(u_deformed(i, :), w_deformed(i, :),'b','linewidth', 8)
end
Here, the size of the matrix [u_deformed] and [w_deformed] are 54X24, respectively.
This plot is for drawing a deformed shape of a structure at a certain time step. For each time step, the matrix [u_deformed] and [w_deformed] are changed.
It takes about 0.04 sec for one set of plotting. But, the problem is I need to do it for about 10000 times.
It means it would take 0.04*10000 sec. This is quite problematic for me.
I tried to use parfor for this plotting. But it made the speed even slower.
I want to know whether there is a way for plotting whole this data without for-loop statement.
  2 commentaires
madhan ravi
madhan ravi le 22 Oct 2018
What is wrong when you reduce the iteration?
KSSV
KSSV le 22 Oct 2018
Why you are going for plot when you have a matrix? YOu should use surf eh.

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 22 Oct 2018
You should try using set. Check the below pseudo code:
h = plot(rand(10,1)) ;
for i = 1:10
set(h,'YData',rand(10,1))
pause(0.1)
end
  1 commentaire
Sinwoo Jeong
Sinwoo Jeong le 22 Oct 2018
Thank you. 'set' is much faster than re-plot.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by