Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
I have created a video object to plot a graph which progresses with time. I have a large number of plotting data points due to which the graph progresses slowly. How can I reduce this time?
    1 visualización (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
 video = 0;
    if video==1 
        vidObj = VideoWriter('video.avi','Motion JPEG AVI');
        open(vidObj); 
    end
    for i=1:numel(A1)
    % figure     
    bild = figure(1);
    subplot(1,2,1);
    plot(A1(1:i),A2(1:i),A1(i),A2(i),'*r');
    xlabel('displacement [mm]'); ylabel('force [kN]');
    axis([min(A1) max(A1) min(A2) max(A2)]);
    title(['Time: ' num2str((i-1)/84,'%4.0f') 's']);
    grid on;
0 comentarios
Respuestas (1)
  Iain
      
 el 28 de Mayo de 2013
        Instead of calling the figure, the subplot, and then freshly plotting the line and the most recent point, try:
a = plot(A1(1),A2(1),A1(1),A2(1),'*r');
for i = 1:numel(A1)
set(a(1),'XData',A1(1:i),'YData',A2(1:i))
set(a(2),'XData',A1(i) ,'YData',A2(i))
drawnow
end
1 comentario
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

