Plot a circle and a vector moving around it

19 visualizzazioni (ultimi 30 giorni)
Nathan Kennedy
Nathan Kennedy il 9 Gen 2018
Risposto: Star Strider il 9 Gen 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

Risposte (2)

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

Accedi per commentare.


Star Strider
Star Strider il 9 Gen 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

Categorie

Scopri di più su Vector Fields in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by