Plot a circle and a vector moving around it

19 vues (au cours des 30 derniers jours)
Nathan Kennedy
Nathan Kennedy le 9 Jan 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

Réponses (2)

KSSV
KSSV le 9 Jan 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 commentaires
Stephen23
Stephen23 le 9 Jan 2018
+1 innovative use of quiver
Nathan Kennedy
Nathan Kennedy le 9 Jan 2018
I don't think quiver is suitable as it plots all of them at the same time and drawnow cant be used?

Connectez-vous pour commenter.


Star Strider
Star Strider le 9 Jan 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

Catégories

En savoir plus sur Vector Fields dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by