Using quiver function to plot vectors

조회 수: 4 (최근 30일)
Sarah  Brehm
Sarah Brehm 2015년 10월 26일
답변: Star Strider 2015년 10월 26일
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일
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.

카테고리

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