streamslice

Постройте потоки в плоскостях разбиения

  • Cartesian grid with plotted lines and arrows

Описание

пример

streamslice(X,Y,Z,U,V,W,xslice,yslice,zslice) чертит автоматически распределенные потоки из 3-D векторных данных UV, and W. Specify XY, and Z as координатные данные. Specify xslice,  yslice, and zslice as местоположения среза, ортогональные к конкретной оси.

streamslice(U,V,W,xslice,yslice,zslice) использует координатные данные по умолчанию for UV, и W. (x, y, z) местоположение для каждого элемента in UV, и W основан на столбце, строке и индексе страницы, соответственно.

пример

streamslice(X,Y,U,V)чертит автоматически распределенные потоки от 2D вектора data U and V. Задайте X и Y как координатные данные.

пример

streamslice(U,V) использует координатные данные по умолчанию for U и V. (x, y) местоположение для каждого элемента in U и V основан на столбце и индексе строки, соответственно.

пример

streamslice(___,arrowsmode), где arrowsmode 'noarrows', не чертит стрелки направления. Значение по умолчанию для arrowsmode 'arrows', который чертит стрелки направления. Используйте эту опцию с любым из входных параметров от предыдущих синтаксисов.

пример

streamslice(___,density) modifies автоматический интервал потоков, where density положительная скалярная величина. Значение по умолчанию is 1. Более высокие значения производят больше потоков на каждой плоскости. Например,  2 produces приблизительно вдвое больше потоков как значение по умолчанию, while 0.5 produces приблизительно вдвое меньше.

streamslice(___,method) задает метод интерполяции, where method can be 'linear',  'cubic', or 'nearest'.

streamslice(ax,___) графики в заданные оси, вместо в объект текущей системы координат (gca).

пример

lineobj = streamslice(___) возвращает Line объекты создаются.

пример

[verts,averts] = streamslice(___) возвращает вершины для рисования потоков и стрел как массивы ячеек. Этот синтаксис не строит потоки.

Примеры

свернуть все

Загрузите wind набор данных, который загружает трехмерные массивы uVWXY, и z, представление воздушных потоков по областям Северной Америки. Чертите потоки вдоль плоскости разбиения где z = 5.

load wind
streamslice(x,y,z,u,v,w,[],[],5)
axis tight

Figure contains an axes object. The axes object contains 94 objects of type line.

Загрузите wind набор данных и чертит потоки без стрелок направления вдоль плоскости разбиения где z = 5.

load wind
streamslice(x,y,z,u,v,w,[],[],5,'noarrows')
axis tight

Figure contains an axes object. The axes object contains 45 objects of type line.

Загрузите wind набор данных и чертит потоки вдоль плоскости разбиения, где z = 5. Используйте density значение 2 чертить приблизительно вдвое больше потоков как значение по умолчанию.

load wind
streamslice(x,y,z,u,v,w,[],[],5,2)
axis tight

Figure contains an axes object. The axes object contains 175 objects of type line.

Загрузите wind набор данных и вычисляет вершины потоков вдоль плоскостей разбиения, где z = 1, 5, и 10.

load wind
[verts, ~] = streamslice(x,y,z,u,v,w,[],[],[1,5,10]);

Передайте вершины streamtube визуализировать линии как трубы.

streamtube(verts,1)

view(3)
axis tight
shading interp
camlight
lighting gouraud

Figure contains an axes object. The axes object contains 161 objects of type surface.

Постройте потоки и возвратите объекты линии в l.

[x,y] = meshgrid(-10:10);
u = 2.*x.*y;
v = y.^2 - x.^2;
l = streamslice(x,y,u,v);
axis tight

Figure contains an axes object. The axes object contains 112 objects of type line.

Установите ширину линии потоков к 2. Выберите их цвет к красному. Используйте set функционируйте, чтобы изменить свойства всех линий одновременно.

set(l,'LineWidth',2)
set(l,'Color','r');

Figure contains an axes object. The axes object contains 112 objects of type line.

Во-первых, создайте объемную поверхностную диаграмму.

z = peaks;
surf(z);
shading interp;

Figure contains an axes object. The axes object contains an object of type surface.

Вычислите двумерный градиент z. Используйте x и y компоненты как векторный ввод данных для streamslice. Выберите цвет потоков к черному цвету.

[u,v] = gradient(z);
l = streamslice(u,v);
set(l,'Color','k');

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

Переместите потоки на z- ось так, чтобы они чертились на поверхности кривой.

for i=1:length(l)
    zi = interp2(z,l(i).XData, l(i).YData);
    l(i).ZData = zi;
end

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

Входные параметры

свернуть все

x- данные о координате оси в виде 2D или трехмерного массива. Это должно быть монотонным, но не должно быть расположенным равными интервалами.

XYZUV, и W должен быть одного размера.

Можно использовать meshgrid функция, чтобы создать XY, и Z матрицы.

y- данные о координате оси в виде 2D или трехмерного массива. Это должно быть монотонным, но не должно быть расположенным равными интервалами.

XYZUV, и W должен быть одного размера.

Можно использовать meshgrid функция, чтобы создать XY, и Z матрицы.

z- данные о координате оси в виде трехмерного массива. Это должно быть монотонным, но не должно быть расположенным равными интервалами.

XYZUV, и W должен быть одного размера.

Можно использовать meshgrid функция, чтобы создать XY, и Z матрицы.

x- векторных данных в виде 2D или трехмерного массива.

XYZUV, и W должен быть одного размера.

y- векторных данных в виде 2D или трехмерного массива.

XYZUV, и W должен быть одного размера.

z- векторных данных в виде трехмерного массива.

XYZUV, и W должен быть одного размера.

x- значения среза оси, заданные в одной из следующих форм:

  • Скаляр — Чертит одну плоскость разбиения, ортогональную к the x-оси в заданном местоположении.

  • Вектор — Чертит несколько плоскостей разбиения, ортогональных к the x-оси в заданных местоположениях.

  • []   — не чертят плоскостей разбиения.

y- значения среза оси, заданные в одной из следующих форм:

  • Скаляр — Чертит одну плоскость разбиения, ортогональную к the y-оси в заданном местоположении.

  • Вектор — Чертит несколько плоскостей разбиения, ортогональных к the y-оси в заданных местоположениях.

  • []   — не чертят плоскостей разбиения.

z- значения среза оси, заданные в одной из следующих форм:

  • Скаляр — Чертит одну плоскость разбиения, ортогональную к the z-оси в заданном местоположении.

  • Вектор — Чертит несколько плоскостей разбиения, ортогональных к the z-оси в заданных местоположениях.

  • []   — не чертят плоскостей разбиения.

Оптимальная плотность в виде положительной скалярной величины.

Значением по умолчанию является 1. Более высокие значения производят больше потоков на каждой плоскости. Например,  2 produces приблизительно вдвое больше потоков как значение по умолчанию, while 0.5 produces приблизительно вдвое меньше.

Режим отображения стрелы в виде одного из этих значений:

  • 'arrows'  — Чертят стрелки направления на потоках.

  • 'noarrows'  — Не чертят стрелки направления на потоках.

Метод интерполяции в виде одного из этих значений:

  • 'linear'  — Линейная интерполяция значений в соседних узлах решетки в каждой соответствующей размерности.

  • 'cubic'  — Кубичная интерполяция значений в соседних узлах решетки в каждой соответствующей размерности.

  • 'nearest'  — Самое близкое значение узла решетки.

Целевые оси в виде Axes объект. Если вы не задаете оси, то streamslice графики в текущую систему координат.

Выходные аргументы

свернуть все

Line объекты для потоков и стрелок направления, возвращенных как массив.

Оптимальные вершины, возвращенные как массив ячеек. Каждым элементом массива ячеек является матрица вершин для одной линии.

Можно передать эти значения любой из функций рисования потока (streamline, streamribbon, streamtube).

Вершины стрелы, возвращенные как массив ячеек. Каждым элементом массива ячеек является матрица вершин для одной стрелы. Если arrowsmode 'noarrows', предотвращает массив пустой ячейки.

Можно передать эти значения streamline.

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

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