MATLAB: How to limit arrow length in 3D quiver plot

quiver

I have a vector field with a large dynamic range; I would like to set a high threshold on vector magnitudes being displayed.
logarithmic scale would also help.

Best Answer

here is what works:
Ln = sqrt(U.^2 + V.^2 +W.^2);
Maxlen=100;
U(Ln>Maxlen)=U(Ln>Maxlen)./Ln(Ln>Maxlen).*Maxlen;
V(Ln>Maxlen)=V(Ln>Maxlen)./Ln(Ln>Maxlen).*Maxlen;
W(Ln>Maxlen)=W(Ln>Maxlen)./Ln(Ln>Maxlen).*Maxlen;
quiver3(X,Y,Z,U,V,W)