quiver3

3-D quiver or velocity plot

Syntax

quiver3(x,y,z,u,v,w)
quiver3(z,u,v,w)
quiver3(...,scale)
quiver3(...,LineSpec)
quiver3(...,LineSpec,'filled')
quiver3(...,'PropertyName',PropertyValue,...)
quiver3(axes_handle,...)
h = quiver3(...)

Description

A three-dimensional quiver plot displays vectors with components (u,v,w) at the points (x,y,z), where u, v, w, x, y, and z all have real (non-complex) values.

quiver3(x,y,z,u,v,w) plots vectors with directions determined by components (u,v,w) at points determined by (x,y,z). The matrices x,y,z,u,v,w must all be the same size and contain the corresponding position and vector components.

quiver3(z,u,v,w) plots vectors with directions determined by components (u,v,w) at equally spaced points along the surface z. For each vector (u(i,j),v(i,j),w(i,j)), the column index j determines the x-value of the point on the surface, the row index i determines the y-value, and z(i,j) determines the z-value. That is, quiver3 locates the vector at the point on the surface (j,i,z(i,j)). The quiver3 function automatically scales the vectors to prevent overlapping based on the distance between them.

quiver3(...,scale) automatically scales the vectors to prevent them from overlapping, and then multiplies them by scale. scale = 2 doubles their relative length, and scale = 0.5 halves them. Use scale = 0 to plot the vectors without the automatic scaling.

quiver3(...,LineSpec) specifies line style, marker symbol, and color using any valid LineSpec. quiver3 draws the markers at the origin of the vectors.

quiver3(...,LineSpec,'filled') fills markers specified by LineSpec.

quiver3(...,'PropertyName',PropertyValue,...) specifies property name and property value pairs for the quiver series that the function creates.

quiver3(axes_handle,...) plots into the axes with the handle axes_handle instead of into the current axes (gca).

h = quiver3(...) returns the quiver series handle.

Examples

expand all

Create 3-D Quiver Plot

Define the data.

x = -3:0.5:3;
y = -3:0.5:3;
[X,Y] = meshgrid(x, y);
Z = Y.^2 - X.^2;
[U,V,W] = surfnorm(Z);

Plot vectors with components (U,V,W) at points that are equally spaced in the x-direction and y-direction with heights determined by Z.

figure
quiver3(Z,U,V,W)
view(-35,45)

Plot Surface Normals

Plot the surface normals of the function $z = xe^{-x^2-y^2}$.

[X,Y] = meshgrid(-2:0.25:2,-1:0.2:1);
Z = X.* exp(-X.^2 - Y.^2);
[U,V,W] = surfnorm(X,Y,Z);

figure
quiver3(X,Y,Z,U,V,W,0.5)

hold on
surf(X,Y,Z)
view(-35,45)
axis([-2 2 -1 1 -.6 .6])
hold off

See Also

Functions

Properties

Was this topic helpful?