Interpolate stream-line vertices from flow speed

`interpstreamspeed(X,Y,Z,U,V,W,vertices)`

interpstreamspeed(U,V,W,vertices)

interpstreamspeed(X,Y,Z,speed,vertices)

interpstreamspeed(speed,vertices)

interpstreamspeed(X,Y,U,V,vertices)

interpstreamspeed(U,V,vertices)

interpstreamspeed(X,Y,speed,vertices)

interpstreamspeed(speed,vertices)

interpstreamspeed(...,sf)

vertsout = interpstreamspeed(...)

`interpstreamspeed(X,Y,Z,U,V,W,vertices)`

interpolates
streamline vertices based on the magnitude of the vector data `U`

, `V`

, `W`

.

The arrays `X`

, `Y`

, and `Z`

,
which define the coordinates for `U`

, `V`

,
and `W`

, must be monotonic, but do not need to be
uniformly spaced. `X`

, `Y`

, and `Z`

must
have the same number of elements, as if produced by `meshgrid`

.

`interpstreamspeed(U,V,W,vertices)`

assumes `X`

, `Y`

,
and `Z`

are determined by the expression

[X Y Z] = meshgrid(1:n,1:m,1:p)

where `[m n p] = size(U)`

.

`interpstreamspeed(X,Y,Z,speed,vertices)`

uses
the 3-D array `speed`

for the speed of the vector
field.

`interpstreamspeed(speed,vertices)`

assumes `X`

, `Y`

,
and `Z`

are determined by the expression

[X Y Z] = meshgrid(1:n,1:m,1:p)

where `[m n p]=size(speed)`

.

`interpstreamspeed(X,Y,U,V,vertices)`

interpolates
streamline vertices based on the magnitude of the vector data `U`

, `V`

.

The arrays `X`

and `Y`

, which
define the coordinates for `U`

and `V`

,
must be monotonic, but do not need to be uniformly spaced. `X`

and `Y`

must
have the same number of elements, as if produced by `meshgrid`

.

`interpstreamspeed(U,V,vertices)`

assumes `X`

and `Y`

are
determined by the expression

[X Y] = meshgrid(1:n,1:m)

where `[M N]=size(U)`

.

`interpstreamspeed(X,Y,speed,vertices)`

uses
the 2-D array `speed`

for the speed of the vector
field.

`interpstreamspeed(speed,vertices)`

assumes `X`

and `Y`

are
determined by the expression

[X Y] = meshgrid(1:n,1:m)

where `[M,N]= size(speed)`

.

`interpstreamspeed(...,sf)`

uses `sf`

to
scale the magnitude of the vector data and therefore controls the
number of interpolated vertices. For example, if `sf`

is
3, then `interpstreamspeed`

creates only one-third
of the vertices.

`vertsout = interpstreamspeed(...)`

returns
a cell array of vertex arrays.

This example draws streamlines using the vertices returned by `interpstreamspeed`

.
Dot markers indicate the location of each vertex. This example enables
you to visualize the relative speeds of the flow data. Streamlines
having widely spaced vertices indicate faster flow; those with closely
spaced vertices indicate slower flow.

load wind [sx sy sz] = meshgrid(80,20:1:55,5); verts = stream3(x,y,z,u,v,w,sx,sy,sz); iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.2); sl = streamline(iverts); set(sl,'Marker','.') axis tight; view(2); daspect([1 1 1])

This example plots streamlines whose vertex spacing indicates the value of the gradient along the streamline.

figure z = membrane(6,30); [u v] = gradient(z); pcolor(z) hold on [verts averts] = streamslice(u,v); iverts = interpstreamspeed(u,v,verts,15); sl = streamline(iverts); set(sl,'Marker','.') shading interp axis tight view(2) daspect([1,1,1]) hold off

`stream2`

| `stream3`

| `streamline`

| `streamparticles`

| `streamslice`

Was this topic helpful?