Plot a circle and a vector moving around it

20 visualizaciones (últimos 30 días)
Nathan Kennedy
Nathan Kennedy el 9 de En. de 2018
Respondida: Star Strider el 9 de En. de 2018
Hi
Draw a circle, then plot multiple vectors from the origin to the outline of the circle
angle = 0:0.05:2*pi
x = cos(angle)';
y = sin(angle)';
z = [x,y];
figure(1)
hold on
plot(x,y) % circle
for i = 1:length(angle)
plotv(z,'-') %plot vector for each angle
drawnow;pause(0.2);
end
but it is only drawing the same one one at 45 degrees

Respuestas (2)

KSSV
KSSV el 9 de En. de 2018
r = 1. ; % radius of circle
th = linspace(0,2*pi) ;
x = r*cos(th) ;
y = r*sin(th) ;
plot(x,y)
quiver(x,y,x,y)
  2 comentarios
Stephen23
Stephen23 el 9 de En. de 2018
+1 innovative use of quiver
Nathan Kennedy
Nathan Kennedy el 9 de En. de 2018
I don't think quiver is suitable as it plots all of them at the same time and drawnow cant be used?

Iniciar sesión para comentar.


Star Strider
Star Strider el 9 de En. de 2018
Try this slight variation on your code:
figure(1)
AxH = axes('NextPlot', 'add');
plot(x,y) % circle
for i = 1:length(angle)
plot([0 z(i,1)], [0 z(i,2)],'-') %plot vector for each angle
axis([-1.1 1.1 -1.1 1.1])
axis equal
drawnow
pause(0.1);
end

Categorías

Más información sobre Vector Fields en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by