Matlab - como dibujar grafica que varíe con el tiempo

 
Vista:

como dibujar grafica que varíe con el tiempo

Publicado por ivan (1 intervención) el 05/07/2012 19:42:05
Hola, quisiera saber cómo dibujar en matlab gráficas que varíen con el tiempo para poder hacer modelos gráficos de mecanismos. Para simplificar voy a poner un ejemplo. Quiero representar el movimiento de un punto que se mueve a velocidad V sobre el eje x. Quiero tener una gráfica enfrente que me permita ver el avance de ese punto sobre el eje. ¿Cómo se hace?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

como dibujar grafica que varíe con el tiempo

Publicado por Gerardo (104 intervenciones) el 05/07/2012 20:32:48
Hola Ivan!

Puedes usar bucles para hacer algo parecido a lo que quieres. Por ejemplo para ver la grafica de velocidad vs tiempo de una particula con MRUV.

1
2
3
4
5
6
7
8
9
10
11
12
13
% x = t;
% y = v(t);
x = 0:45;
y = 0.2 + 3*x.^2;
hold on
grid
for i=1:length(x)-1
    hold on
    axis([min(x) max(x) min(y) max(y)])
    plot(x(i:i+1),y(i:i+1),'linewidth',2);
    pause(0.001)
end
hold off


Ojala te sirva.

Saludos!
Gerardo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como dibujar grafica que varíe con el tiempo

Publicado por ivan (1 intervención) el 05/07/2012 22:01:08
Gracias, pero no es lo que busco. Yo quiero más bien al go que represente un punto (por decir algo sencillo) en diferentes lugares de grafica. La posicion en X e Y la tengo guardada en vectores, y quiero que se represente de forma continua en el tiempo toda esa sucesión de posiciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como dibujar grafica que varíe con el tiempo

Publicado por Gerardo (104 intervenciones) el 08/07/2012 21:46:05
Hola Ivan!

haber si entendi... este codigo codigo es muy parecido al anterior:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
x = round(20*rand(10,1))
y = round(20*rand(10,1))
nombres = cellstr(num2str([1:10]'));
axis([min(x) max(x) min(y) max(y)])

for i = 1:10    
    axis([min(x) max(x) min(y) max(y)])
    plot(x(i),y(i),'rx')
    text(x(i),y(i), nombres{i},'VerticalAlignment','bottom','HorizontalAlignment','Right')
    pause(0.5)
    hold on
end
hold off


Saludos!
Gerardo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como dibujar grafica que varíe con el tiempo

Publicado por Gerardo (104 intervenciones) el 12/07/2012 02:18:30
Hola
tambien podria ser de esta forma:

1
2
3
4
5
6
7
8
x1 = 0:0.01:20;
y1 = sin(x1);
 
for i = 1:length(x1)
    plot(x1(i),y1(i),'r.')
    axis([min(x1) max(x1) min(y1) max(y1)])
    pause(0.001)
end


Saludos!
Gerardo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar