interpstreamspeed

Интерполируйте вершины линии потока от скорости потока

Синтаксис

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) интерполирует вершины обтекания на основе величины векторных данных U, V, W.

Массивы X, Y, и Z, которые определяют координаты для U, V, и W, должны быть монотонными, но не должны быть равномерно разнесены. X, Y, и Z должны иметь одинаковое количество элементов, как если бы произведено meshgrid.

interpstreamspeed(U,V,W,vertices) принимает X, Y, и Z определяются выражением

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

где [m n p] = size(U).

interpstreamspeed(X,Y,Z,speed,vertices) использует трехмерный массив speed для скорости векторного поля.

interpstreamspeed(speed,vertices) принимает X, Y, и Z определяются выражением

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

где [m n p]=size(speed).

interpstreamspeed(X,Y,U,V,vertices) интерполирует вершины обтекания на основе величины векторных данных U, V.

Массивы X и Y, которые определяют координаты для U и V, должны быть монотонными, но не должны быть равномерно разнесены. X и Y должны иметь одинаковое количество элементов, как если бы произведено meshgrid.

interpstreamspeed(U,V,vertices) принимает X и Y определяются выражением

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

где [M N]=size(U).

interpstreamspeed(X,Y,speed,vertices) использует 2-D array speed для скорости векторного поля.

interpstreamspeed(speed,vertices) принимает X и Y определяются выражением

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

где [M,N]= size(speed).

interpstreamspeed(...,sf) использует sf для масштаба из вектора данных и поэтому управляет количеством интерполированных вершин. Для примера, если sf равно 3, тогда interpstreamspeed создает только одну треть вершин.

vertsout = interpstreamspeed(...) возвращает массив ячеек из вершинных массивов.

Примеры

свернуть все

Нарисуйте потоки с помощью вершин, возвращаемых interpstreamspeed. Маркеры точек указывают местоположение каждой вершины. Потоки с широко разнесенными вершинами указывают на более быстрый поток. Те, у кого близко расположенные вершины, указывают на более медленное течение.

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]);

Figure contains an axes. The axes contains 36 objects of type line.

Постройте потоки, чтобы отобразить интервалы между вершинами при изменении градиента вдоль потока.

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

Figure contains an axes. The axes contains 99 objects of type surface, line.

Расширенные возможности

Представлено до R2006a