Reputation: 301
How does the quiver function work? I know it creates vector arrows but what do u,v,x and y variables actually mean?
Is there a relation between u-x and v-y?
How is the actual length of the arrow determined and how does it affect the 4 variables above?
Does u,v mean 'from' and x,y mean 'to' which will create the arrow head at x,y with start location at u,v?
Upvotes: 1
Views: 2665
Reputation: 128
I had a similar question, and with some advice i managed to overlap contours and quiver I have posted the code in the answers (Contouring a mesh and assigning magnitude arrows in Matlab)
take a look it may be of help to you as well
[nx,ny]= size(A) % A is the matrix used as base
xx=1:1:ny; % set the x-axis to be equal to the y
yy=1:1:nx; % set the y-axis to be equal to the x
contourf(xx,yy,A)
hold on, delta = 8; %delta is the distance between arrows)
quiver(xx(1:delta:end),yy(1:delta:end),B(1:delta:end,1:delta:end),C(1:delta:end,1:delta:end),1) % the 1 at the end is the size of the arrows
set(gca,'fontsize',12);, hold off
Upvotes: 1
Reputation: 112659
x
, y
are the horizontal and vertical coordinates of the origin of each vector.
u
, v
are the horizontal and vertical components of each vector. Thus the length of the vectors would be sqrt(u.^2 + v.^2)
. But there's a normalization in u
, v
so that maximum length is a nice value that avoids one vector overlapping (or getting into the "area" of) another vector.
Upvotes: 4