Animating plot in a for loop
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ege Arsan
el 16 de En. de 2021
Editada: Cris LaPierre
el 16 de En. de 2021
I have the following figure and i want to animate it with addpoints but couldn't work it out.
dy is the displacement from an ode solver, which is a matrix of 549x4 doubles and n = 2, so i only plot the dy(:,3) and dy(:,4)


2 comentarios
Image Analyst
el 16 de En. de 2021
I don't know. MATLAB cannot convert your image into code. Attach your code so we can run it. What is "addpoints" - is that a built-in or custom function? Attach dy in a .mat file. Make it easy to help you not hard.
Respuesta aceptada
Cris LaPierre
el 16 de En. de 2021
6 comentarios
Cris LaPierre
el 16 de En. de 2021
Editada: Cris LaPierre
el 16 de En. de 2021
It's easier to debug one thing at a time. Once you have the ode working, then focus on the animation. It's usually a good idea to only include in the for loop code that needs to be run multiple times. The title, labels, and grid commands can be set once, so move those before the loop.
It is my suspicion you will have to create an animated line for each subplot.
Here is a simplified working example that you can modify to your needs.
L=animatedline;
axis([ti,tf,-4,4])
title(['Response q',num2str(i)]);
xlabel('Time, seconds'); ylabel('Displacement, m');
grid on;
for i = 1:length(dy)
addpoints(L,t(i),dy(i,1));
drawnow
end
Más respuestas (0)
Ver también
Categorías
Más información sobre Animation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!