Quiver vector length difficulty

18 views (last 30 days)
David Arnold
David Arnold on 20 Jan 2018
Answered: Star Strider on 20 Jan 2018
I've written this:
[T,Y]=meshgrid(-4:0.5:4,-4:0.5:4);
S=-(2-Y).*Y;
L=sqrt(1+S.^2);
quiver(T,Y,1./L,S./L)
axis tight
shg
And all the arrows are the same length. But when I try this:
t=linspace(-2,2,16);
y=linspace(-4,4,16);
[T,Y]=meshgrid(t,y);
S=Y./T+3*T;
L=sqrt(1+S.^2);
quiver(T,Y,1./L,S./L,0.5)
axis tight
The arrows are not all the same length. Am I doing something wrong or are there suggestions? I am using Matlab R2017b.
Thanks

Answers (1)

Star Strider
Star Strider on 20 Jan 2018
Specifying 0.5 as the scale factor simply halves their lengths. it does not remove scaling. If you want them not scaled, use 0 for the scaling factor. (I do not know what effect that would have in your plot, because it apparently requires that you interact with the GUI to adjust their lengths afterwards.)
See the documentation for quiver (link) and Quiver Properties (link) for details.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!