Arrows of the same length in a quiver plot

66 次查看(过去 30 天)
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

采纳的回答

Michael Haderlein
Michael Haderlein 2014-8-11
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 个评论
David Martin
David Martin 2023-8-18
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.

请先登录,再进行评论。

更多回答(0 个)

类别

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