Arrows of the same length in a quiver plot

76 views (last 30 days)
Hello,
I know that vectors can be superimposed over a curve using quiver (dx, dy, du, dw, scale). I am only interested in keeping the angle and prefer to have vectors with the same length. I am wondering how I can have vectors with the same length. I have used (dx, dw, du, dw, 1/(du^2+dw^2)) to create the equal length but the length of vectors are still different!
Cheers,
Cyrus

Accepted Answer

Michael Haderlein
Michael Haderlein on 11 Aug 2014
Scale is not the right parameter for your purpose. You need to normalize the velocity:
un=du./sqrt(du.^2+dw.^2);
wn=dv./sqrt(du.^2+dw.^2);
quiver(dx,dy,un,wn)
Best regards,
Michael
  2 Comments
Kourosh
Kourosh on 12 Aug 2014
Great, thank you.
Regards,
Cyrus
David Martin
David Martin on 18 Aug 2023
Why doesn't this work for me? I have the following code and the arrows come out with different lengths.
t = 0:0.5:5;
v = -5:0.5:5;
[T,V] = meshgrid(t,v);
dT = 0.05 + 0.0*T;
dV = (2+V).*dT;
dR = sqrt(dT.^2 + dV.^2);
dT = dT ./ dR;
dV = dV ./ dR;
quiver(T,V,dT,dV,'Linewidth',2);
Any help would be appreciated.

Sign in to comment.

More Answers (0)

Categories

Find more on Vector Fields in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!