Plot a circle and a vector moving around it

조회 수: 19 (최근 30일)
Nathan Kennedy
Nathan Kennedy 2018년 1월 9일
답변: Star Strider 2018년 1월 9일
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

답변 (2개)

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

댓글을 달려면 로그인하십시오.


Star Strider
Star Strider 2018년 1월 9일
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

카테고리

Help CenterFile Exchange에서 Vector Fields에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by