Plot a circle and a vector moving around it

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일

1 개 추천

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
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일

1 개 추천

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

카테고리

도움말 센터File Exchange에서 Vector Fields에 대해 자세히 알아보기

질문:

2018년 1월 9일

답변:

2018년 1월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by