Using quiver function to plot vectors

I'm sure this is an extremely basic question so I'm sorry in advance. I plotted a unit square and now I'm trying to plot the associated vectors from the origin using quiver. My code looks like this.
square = [0,0;
0,1;
1,1;
1,0;
0,0]
figure(1)
plot(square(:,1),square(:,2));
xlim([0 2])
ylim([0 2])
quiver(0,0,1.0,0)
quiver(0,0,0,1.0)
quiver(0,0,1.0,1.0)
However, all three vectors are shorter than they should be. The arrows on each vector are not plotting at the proper points. Is there some quiver bug that I'm not aware of?

답변 (1개)

Star Strider
Star Strider 2015년 10월 26일

0 개 추천

It’s not a bug! The quiver function has an optional fifth argument, called the scaling parameter. If you set it to zero, you turn the scaling off.
From the documentation:
  • quiver(...,scale) automatically scales the arrows to fit within the grid and then stretches them by the factor scale. scale = 2 doubles their relative length, and scale = 0.5 halves the length. Use scale = 0 to plot the velocity vectors without automatic scaling.

카테고리

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

태그

질문:

2015년 10월 26일

답변:

2015년 10월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by